跳转到主要内容
作为系统管理员,您的任务是始终监控 ABBYY Vantage,对其进行管理,发现文档处理过程中可能发生的任何错误,并查明这些错误的原因。 您可以通过以下方式监控 ABBYY Vantage:
  • Vantage 日志文件
  • 内置 Skill Monitor 服务,该服务收集现有 Vantage Skill 的统计信息,并提供有关已完成和正在进行的事务(Transaction)的详细信息。该服务还可让您获取技术支持所需的事务事件信息。
  • 第三方服务,可用于监控 Vantage 的内部流程、监控特定工作流、分析收集的数据以进一步微调和优化文档处理,并收集和分析日志。
在联系技术支持时,除了提供有关错误的信息之外,您还可以通过以下操作提供产品及其组件的版本信息:
  1. 在左侧窗格中单击 Help,然后单击 About,并选择 Version details
  2. 复制这些详细信息。

如何访问诊断日志

在 Vantage 中处理文档时生成的日志文件,会本地保存在安装产品的服务器上。 日志的存储方式如下:运行在所有 Kubernetes 节点上的 Fluent Bit 代理会收集容器日志并将其发送到 Fluentd 聚合服务。默认情况下,所有日志都会作为归档文件存储在持久卷上,并可通过 NFS 访问。管理员还可以选择将日志发送到 Elasticsearch 集群。 Kubernetes 日志架构图,展示 Fluent Bit 代理从 Docker 容器收集日志,发送到 Fluentd 聚合器,再输出到 Elasticsearch 和持久卷存储 要访问诊断日志:
  1. 如果您使用的是外部 NFS 服务器或其他外部存储,请直接跳到步骤 3。
  2. 对于使用集群内 NFS 服务器进行安装(无高可用性 配置的默认设置),请获取 NFS 服务器的 IP 地址:
kubectl -n nfs get po -lapp.kubernetes.io/name=nfs-kernel-server -o jsonpath='{ .items[*].status.hostIP }'
  1. 访问共享:
    • 对于 NFS:
      • Linux:mount –t nfs <nfs server ip>:/ /opt/mount
      • Windows:安装 ClientForNFS,打开文件资源管理器,然后转到 \\<nfs server ip>
    • 对于其他类型的外部存储: 请联系系统管理员以获取访问指引。
  2. 转到 \\<nfs server ip>\<sharename>\<env>\abbyy-monitoring\fluentd-pvc 目录。

向技术支持提供日志

要向 ABBYY 客户支持团队提供 Vantage 日志:
  1. 导航到日志文件夹。日志存储在与 Kubernetes 集群命名空间同名的子文件夹中。Vantage 日志位于 abbyy-vantage 文件夹中。
  2. 复制与问题发生时间段相对应的文件。日志以 gzip 格式压缩,文件名采用 Y-M-DD-H 格式(例如:2022-12-09-0800.log.gz)。
  3. 将这些文件发送给 ABBYY 技术支持。

Elasticsearch 和 Kibana

Elasticsearch 和 Kibana 是用于搜索、分析和可视化日志的工具。Elasticsearch 和 Kibana 不会随 ABBYY Vantage 一同安装,必须单独安装和配置。无论产品是否已安装,都可以进行此操作。您也可以使用任何现有的安装。
下面的示例设置过程已作简化,仅作为示例提供。
要安装 Elasticsearch 和 Kibana:
  1. 克隆存储库:
git clone https://github.com/elastic/cloud-on-k8s.git
cd cloud-on-k8s
git checkout 2.5
cd deploy/eck-operator
  1. 安装用于部署资源的 Operator:
helm -n elastic upgrade -i eck-operator . --create-namespace
  1. 创建名为 elastic.yaml 的文件,内容如下:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: elasticsearch
  namespace: elastic
spec:
  version: 8.5.1
  nodeSets:
    - config:
        indices.fielddata.cache.size: 38%
        xpack.ml.enabled: false
        xpack.security.enabled: true
      count: 1
      name: default
      podTemplate:
        spec:
          containers:
            - name: elasticsearch
              resources:
                limits:
                  memory: 1Gi
                  cpu: '1'
                requests:
                  cpu: '1'
                  memory: 1Gi
          initContainers:
            - command:
                - sh
                - '-c'
                - sysctl -w vm.max_map_count=262144
              name: sysctl
              securityContext:
                privileged: true
                runAsUser: 0
          nodeSelector:
            kubernetes.io/os: linux
      volumeClaimTemplates:
        - metadata:
            name: elasticsearch-data
          spec:
            accessModes:
              - ReadWriteOnce
            resources:
              requests:
                storage: 128Gi
  1. 创建一个名为 kibana.yaml 的文件,内容如下:
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana
  namespace: elastic
spec:
  version: 8.5.1
  count: 1
  elasticsearchRef:
    name: elasticsearch
  podTemplate:
    spec:
      containers:
        - name: kibana
          env:
            - name: NODE_OPTIONS
              value: "--max-old-space-size=2048"
          resources:
            requests:
              memory: 512Mi
              cpu: 0.5
            limits:
              memory: 1Gi
              cpu: 1
      nodeSelector:
        kubernetes.io/os: linux
  1. 执行以下命令安装 Elasticsearch:
kubectl -n elastic apply -f elastic.yaml
查看部署状态:
kubectl -n elastic get statefulset
  1. 运行以下命令安装 Kibana:
kubectl -n elastic apply -f kibana.yaml
查看部署状态:
kubectl -n elastic get deployment
  1. 获取 Elasticsearch 用户密码:
kubectl -n elastic get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode }}'
  1. 将以下参数添加到您的 env_specific.yaml 文件中:
logging:
  enabled: true
  elasticsearch:
    enabled: true
    host: elasticsearch-es-http.elastic.svc.cluster.local
    username: elastic
    password: elastic_user_password
    scheme: https
  1. 如果在产品安装完成后再安装 Kibana,请更新您的 env_specific.yaml 文件并运行下列命令:
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml

Grafana

Grafana(与 Prometheus 配合使用)是一种用于数据可视化、监控和分析的工具。Grafana 不会随 ABBYY Vantage 一同自动安装,必须单独安装和配置。您也可以使用任何已有的 Grafana 安装。
Grafana 必须安装在集群中,因为 Prometheus 仅在集群内可用。
下面的示例安装步骤已简化,仅作为示例提供。
要安装 Grafana:
  1. 创建一个名为 grafana.yaml 的文件。
  2. 将以下代码复制并粘贴到该文件中,然后保存:
persistence:
  enabled: false
rbac:
  create: true
  namespaced: false
serviceAccount:
  create: true
podLabels:
  app.kubernetes.io/component: grafana
nodeSelector:
  kubernetes.io/os: linux
adminUser: admin
adminPassword: password
plugins:
  - grafana-piechart-panel
  - flant-statusmap-panel
grafana.ini:
  server:
    root_url: "%(protocol)s://%(domain)s:%(http_port)s/grafana/"
    enable_gzip: "true"
ingress:
  enabled: true
  annotations:
    kubernetes.io/ingress.class: abbyy-nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  tls:
    - secretName: platform-wildcard
      hosts:
        - {{ env }}.{{ domain }}
  hosts:
    - {{ env }}.{{ domain }}
  path: "/grafana(/|$)(.*)"
sidecar:
  dashboards:
    enabled: true
    label: grafana_dashboard
datasources:
  datasources.yaml:
    apiVersion: 1
    datasources:
      - name: Prometheus
        editable: true
        isDefault: true
        jsonData:
          timeInterval: 5s
          tlsSkipVerify: true
        type: prometheus
        url: 'http://prometheus-scaling.abbyy-monitoring.svc.cluster.local:9090'
      - editable: true
        isDefault: true
        jsonData:
          timeInterval: 5s
          tlsSkipVerify: true
        name: Victoria
        type: prometheus
        url: 'http://victoria-metrics-abbyy.abbyy-monitoring.svc.cluster.local:8428'
将 host 参数的值替换为您的 Vantage 集群域名,并修改初始管理员密码。
  1. 运行以下命令:
helm repo add grafana https://grafana.github.io/helm-charts
helm -n abbyy-monitoring upgrade -i grafana grafana/grafana -f grafana.yaml