システム管理者として、常に ABBYY Vantage を監視・管理し、ドキュメント処理中に発生しうるエラーとその原因を特定する役割があります。
ABBYY Vantage を監視するには、次の方法を使用できます。
- Vantage ログファイル
- 組み込みの Skill Monitor サービス – 既存の Vantage Skill の統計情報を収集し、完了したトランザクションおよび進行中のトランザクションに関する詳細情報を提供します。また、このサービスを使用して、テクニカルサポートに必要なトランザクションイベント情報を取得できます。
- サードパーティ製サービス – Vantage の内部プロセスや特定のワークフローを監視し、収集したデータを分析してドキュメント処理のさらなるチューニングおよび最適化を行い、ログを収集・分析できます。
テクニカルサポートに連絡する際には、エラーに関する情報に加えて、次の操作を行うことで、製品およびそのコンポーネントのバージョン情報も提供できます。
- 左側のペインで Help をクリックし、About を選択してから Version details を選択します。
- 詳細情報をコピーします。
Vantage でドキュメントを処理する際に作成されるログファイルは、製品のインストールに使用したマシン上にローカル保存されます。
ログは次のように保存されます。すべての Kubernetes ノード上で実行されている Fluent Bit エージェントがコンテナのログを収集し、それらを Fluentd アグリゲーターサービスに送信します。デフォルトでは、すべてのログは永続ボリューム上のアーカイブファイルとして保存され、NFS を使ってアクセスできます。オプションで、管理者はログを Elasticsearch クラスターにも送信できます。
診断ログにアクセスするには、次の手順を実行します。
- 外部 NFS サーバーやその他の外部ストレージを使用している場合は、手順 3 に直接進みます。
- クラスター内 NFS サーバーを使用したインストール(高可用性なし 構成のデフォルト)の場合、NFS サーバーの IP アドレスを取得します。
kubectl -n nfs get po -lapp.kubernetes.io/name=nfs-kernel-server -o jsonpath='{ .items[*].status.hostIP }'
- 共有にアクセスします。
- NFS の場合:
- Linux:
mount –t nfs <nfs server ip>:/ /opt/mount
- Windows: Client for NFS をインストールし、エクスプローラーを開いて
\\<nfs server ip> に移動します。
- その他の種類の外部ストレージを使用する場合: アクセス方法についてシステム管理者にお問い合わせください。
\\<nfs server ip>\<sharename>\<env>\abbyy-monitoring\fluentd-pvc ディレクトリに移動します。
ABBYY テクニカルサポートに Vantage のログを提供するには、次の手順を実行します。
- ログフォルダーに移動します。ログは、Kubernetes クラスターの Namespace と同じ名前のサブフォルダーに保存されています。Vantage のログは
abbyy-vantage フォルダーに保存されています。
- 問題が発生した期間に該当するファイルをコピーします。ログは gzip 形式で圧縮されており、ファイル名は
Y-M-DD-H 形式になっています(例: 2022-12-09-0800.log.gz)。
- ファイルを ABBYY テクニカルサポートに送信します。
Elasticsearch と Kibana は、ログの検索、分析、および可視化を行うためのツールです。Elasticsearch と Kibana は ABBYY Vantage と一緒にはインストールされないため、別途インストールとセットアップを行う必要があります。これは、製品がインストールされているかどうかに関係なく実施できます。既存のインストール環境を使用することもできます。
以下のサンプルセットアップ手順は簡略化されたものであり、例としてのみ提供されています。
Elasticsearch と Kibana をインストールするには、次の手順を実行します。
- リポジトリをクローンします:
git clone https://github.com/elastic/cloud-on-k8s.git
cd cloud-on-k8s
git checkout 2.5
cd deploy/eck-operator
- リソースをデプロイするためのオペレーターをインストールします:
helm -n elastic upgrade -i eck-operator . --create-namespace
- 次の内容で
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
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
- 次のコマンドを実行して Elasticsearch をインストールします:
kubectl -n elastic apply -f elastic.yaml
デプロイのステータスを確認します:
kubectl -n elastic get statefulset
- Kibana をインストールするには、次のコマンドを実行します。
kubectl -n elastic apply -f kibana.yaml
デプロイ状況を確認する:
kubectl -n elastic get deployment
- Elasticsearch ユーザーのパスワードを取得します:
kubectl -n elastic get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode }}'
- 次の 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
- 既に製品がインストールされている環境に後から Kibana をインストールする場合は、
env_specific.yaml ファイルを更新し、次のコマンドを実行します。
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
Grafana(Prometheus と併用)は、データの可視化、監視、および分析を行うためのツールです。Grafana は ABBYY Vantage と同時にはインストールされないため、別途インストールして設定する必要があります。既存の Grafana 環境を利用してもかまいません。
Prometheus はクラスター内でのみ利用できるため、Grafana もクラスター内にインストールする必要があります。
以下のサンプルのセットアップ手順は簡略化したものであり、あくまで例として提供されています。
Grafana をインストールするには、次の手順を実行します。
grafana.yaml という名前のファイルを作成します。
- 次のコードをファイルにコピーして貼り付け、保存します。
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 Parameter の値を Vantage クラスターのドメイン名に置き換え、初期管理者パスワードを変更してください。
- 次のコマンドを実行します:
helm repo add grafana https://grafana.github.io/helm-charts
helm -n abbyy-monitoring upgrade -i grafana grafana/grafana -f grafana.yaml