跳轉到主要內容
作為系統管理員,您的職責是隨時監控 ABBYY Vantage、對其進行管理、發現文件處理過程中可能出現的任何錯誤,以及找出造成這些錯誤的原因。 您可以透過以下方式監控 ABBYY Vantage:
  • Vantage 記錄檔
  • 內建的技能監控服務,該服務會為現有的 Vantage skill 收集統計資料,並提供已完成與進行中處理作業的詳細資訊。此外,此服務也可讓您取得技術支援所需的處理作業事件資訊。
  • 第三方服務,可用於監控 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. 複製(clone)此儲存庫:
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. 將以下 Parameter 加入至你的 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