> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 監視と管理

> ABBYY Vantage セルフホスト型の監視と管理について説明します。ログファイル、組み込みの Skill Monitor サービス、サードパーティ製ツール、技術サポート向けデータの収集を扱います。

システム管理者は、ABBYY Vantage を常時監視し、管理するとともに、文書処理中に発生する可能性のあるエラーやその原因を特定する必要があります。

ABBYY Vantage は、次の方法で監視できます。

* **Vantage のログファイル**
* **組み込みの Skill Monitor サービス**。既存の Vantage Skill に関する統計を収集し、完了済みおよび進行中のトランザクションについて詳しい情報を提供します。また、技術サポートに必要なトランザクションイベント情報も取得できます。
* **サードパーティ製サービス**。これらを使用すると、Vantage の内部プロセスや特定のワークフローを監視し、収集したデータを分析して文書処理をさらに調整・最適化し、ログを収集・分析できます。

技術サポートに問い合わせる際は、エラーに関する情報に加えて、次の手順で製品およびそのコンポーネントのバージョン情報も提供できます。

1. 左側のペインで **Help** をクリックし、**About**、**Version details** の順に選択します。
2. 詳細をコピーします。

<div id="how-to-access-diagnostics-logs">
  ## 診断ログにアクセスする方法
</div>

Vantage でドキュメントの処理中に作成されたログファイルは、製品をインストールしたマシン上にローカル保存されます。

ログは次のように保存されます。すべての Kubernetes ノードで実行されている Fluent Bit エージェントがコンテナーのログを収集し、Fluentd アグリゲーターサービスに送信します。既定では、すべてのログは永続ボリューム上にアーカイブファイルとして保存され、NFS を使用してアクセスできます。必要に応じて、管理者はログを Elasticsearch クラスターに送信することもできます。

<img src="https://mintlify.s3.us-west-1.amazonaws.com/abbyy/images/vantage/self-hosted/misc-p01-045.png" alt="Fluent Bit エージェントが Docker コンテナーからログを収集し、Fluentd アグリゲーターサービスに送信して、Elasticsearch と永続ボリュームストレージに出力する Kubernetes のロギングアーキテクチャ" style={{ width:"62%" }} />

診断ログにアクセスするには:

1. 外部 NFS サーバーまたはその他の外部ストレージを使用している場合は、手順 3 に進んでください。
2. クラスター内 NFS サーバーを使用するインストールの場合 (**高可用性なし** 構成の既定) 、NFS サーバーの IP アドレスを取得します:

```bash theme={null}
kubectl -n nfs get po -lapp.kubernetes.io/name=nfs-kernel-server -o jsonpath='{ .items[*].status.hostIP }'
```

3. 共有にアクセスします:
   * **NFS の場合:**
     * Linux: `mount –t nfs <nfs server ip>:/ /opt/mount`
     * Windows: ClientForNFS をインストールし、エクスプローラーを開いて `\\<nfs server ip>` にアクセスします
   * **その他の種類の外部ストレージの場合:** アクセス方法については、システム管理者にお問い合わせください。
4. `\\<nfs server ip>\<sharename>\<env>\abbyy-monitoring\fluentd-pvc` ディレクトリに移動します。

<div id="providing-logs-to-technical-support">
  ### テクニカルサポートにログを提供する
</div>

ABBYYカスタマーサポートにVantageのログを提供するには、次の手順に従います。

1. ログフォルダーに移動します。ログは、Kubernetes クラスターの各名前空間と同名のサブフォルダーに保存されています。Vantage のログは `abbyy-vantage` フォルダーにあります。
2. 問題が発生した時間帯のファイルをコピーします。ログは gzip ファイルとして圧縮されており、ファイル名は `Y-M-DD-H` 形式です (例: `2022-12-09-0800.log.gz`) 。
3. ファイルを ABBYY テクニカルサポートに送信します。

<div id="elasticsearch-and-kibana">
  ## Elasticsearch と Kibana
</div>

Elasticsearch と Kibana は、ログの検索、分析、可視化を行うためのツールです。Elasticsearch と Kibana は ABBYY Vantage と一緒にはインストールされないため、別途インストールして設定する必要があります。これは、製品がインストールされているかどうかにかかわらず実行できます。既存のインストール環境を使用できます。

<Note>
  以下のsampleセットアップ手順は簡略化されており、あくまで一例として記載しています。
</Note>

Elasticsearch と Kibana をインストールするには:

1. リポジトリをクローンします:

```bash theme={null}
git clone https://github.com/elastic/cloud-on-k8s.git
cd cloud-on-k8s
git checkout 2.5
cd deploy/eck-operator
```

2. リソースをデプロイするオペレーターをインストールします:

```bash theme={null}
helm -n elastic upgrade -i eck-operator . --create-namespace
```

3. 次の内容を記述した `elastic.yaml` という名前のファイルを作成します。

```yaml theme={null}
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
```

4. 次の内容で、`kibana.yaml` という名前のファイルを作成します。

```yaml theme={null}
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
```

5. Elasticsearch をインストールするには、次のコマンドを実行します。

```bash theme={null}
kubectl -n elastic apply -f elastic.yaml
```

デプロイのステータスを確認します:

```bash theme={null}
kubectl -n elastic get statefulset
```

6. Kibanaをインストールするには、次のコマンドを実行します。

```bash theme={null}
kubectl -n elastic apply -f kibana.yaml
```

デプロイのステータスを確認します：

```bash theme={null}
kubectl -n elastic get deployment
```

7. Elasticsearch ユーザーのパスワードを取得します:

```bash theme={null}
kubectl -n elastic get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode }}'
```

8. 次のパラメーターを `env_specific.yaml` ファイルに追加します：

```yaml theme={null}
logging:
  enabled: true
  elasticsearch:
    enabled: true
    host: elasticsearch-es-http.elastic.svc.cluster.local
    username: elastic
    password: elastic_user_password
    scheme: https
```

9. 製品のインストール後に Kibana を追加でインストールする場合は、`env_specific.yaml` ファイルを更新し、次のコマンドを実行します。

```bash theme={null}
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
```

<div id="grafana">
  ## Grafana
</div>

Grafana (Prometheus と併用) は、データの可視化、監視、分析を行うためのツールです。Grafana は ABBYY Vantage と同時にはインストールされないため、別途インストールして設定する必要があります。既存のインストール環境を使用できます。

<Note>
  Prometheus はクラスター内でのみ利用できるため、Grafana もクラスターにインストールする必要があります。
</Note>

<Note>
  以下のセットアップ手順は簡略化したサンプルであり、例としてのみ提供されています。
</Note>

Grafana をインストールするには:

1. `grafana.yaml` という名前のファイルを作成します。
2. 次のコードをファイルにコピーして貼り付け、保存します。

```yaml theme={null}
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'
```

<Note>
  host パラメーターの値をお使いの Vantage クラスターのドメイン名に置き換え、初期管理者のパスワードを変更してください。
</Note>

3. 次のコマンドを実行します:

```bash theme={null}
helm repo add grafana https://grafana.github.io/helm-charts
helm -n abbyy-monitoring upgrade -i grafana grafana/grafana -f grafana.yaml
```
