このページでは、ログコレクタの展開に関する問題を修正する手順について説明します。 

一般的なヒント

  • clustermon ポッドのログを確認してください。
  • kubectl が正しいクラスタに接続されていることを確認してください。
  • collectors-values.yaml で指定したログイン情報がテナントとクラスタに適した情報であることを確認してください。
  • 便利な kubectl および helm コマンド の便利な kubectl コマンドを参照してください。

ログ コレクターのインストールが失敗する

の次の構成エラーが原因で、インストールが失敗することがあります。collectors-values.yaml

  • 簡略化された YAML レイアウトでは、設定しても設定しないと、次のエラーが発生します。multiLinePatternmultiLineMatch

    Error: INSTALLATION FAILED: execution error at (appdynamics-collectors/charts/appdynamics-cloud-k8s-monitoring/templates/logCollector.yaml:28:8): "multiLineMatch" field is mandatory, if "multiLinePattern" is set.
    CODE

    解決策: に追加してください: を参照してください。multiLineMatchcollectors-values.yamlAppDynamics Log Collector Settings Log Collector をインストールして再インストールします。「Resinstall Collectors」を参照してください。 Kubernetes および App Service Monitoring のアップグレードまたはアンインストール

ログコレクタが汚染されたノードに展開されない

汚染されたノードを監視する」を参照してください。

ログコレクタが Cisco Cloud Observability に報告しない

ログコレクタが Cisco Cloud Observability に表示されない場合は、Cisco Cloud Observability との接続の問題が原因である可能性があります。

  1. サーバーの可視性ライセンスが [Administration > License > Account Usage] で使用可能であることを確認します。ログコレクタを正常に登録するには、サーバーの可視性ライセンスが必要です。

  2. appdynamics 名前空間のログコレクタイベントを確認します。

    kubectl -n appdynamics get events
    
    # to sort by most recent events:
    kubectl -n appdynamics get events --sort-by='.lastTimestamp'
    BASH
  3. 追加のイベントについて、ログコレクタポッドの仕様を確認します。

    kubectl -n appdynamics get pod <log-collector-pod> -o yaml
    BASH
  4. Cisco Cloud Observability との通信に関連するエラーについて、ログコレクタログを確認します。

    kubectl -n appdynamics logs <log-agent-pod-name>
    
    BASH
  5. ログコレクタの構成が期待どおりであることを確認します。

    kubectl -n appdynamics describe cm <log-agent-pod-name>
    CODE
  6. 最新のログコレクタがインストールされていることを確認します。ログコレクタを以前のバージョンからアップグレードした場合、AppDynamics Operator の構成またはイメージに互換性がない可能性があります。ログコレクタと AppDynamics Operator の両方を再度インストールする必要があります。

    1. アンインストールするには、「Kubernetes および App Service Monitoring のアンインストール」を参照してください。

    2. インストールするには、ログコレクタの展開を参照してください。

  7. Filebeat アクティビティをログに記録するようにログコレクタを構成します。「AppDynamics Log Collector Settings」を参照してください。

ログコレクタの再起動

ポッドの詳細から再起動が発生したことを確認します。

kubectl get pods -n appdynamics | grep CrashLoop
CODE

サンプル出力:

NAME                                         READY   STATUS    RESTARTS   AGE
appdynamics-operator-6fff76b466-qtx57        1/1     Running   0          4h18m
k8s-log-agent-perf-jg-6fc498d557-q7zst       1/1     Running   1          83m
CODE
  • ログコレクタポッドがクラッシュループしている場合、ノードに十分な CPU またはメモリがない可能性があります。ログコレクタのリソース要件を、ノードで使用可能な CPU およびメモリと比較します。「ログコレクタの要件」を参照してください。
  • ログコレクタが予期せず再起動した場合、RESTARTS 値は 0 より大きくなります。名前空間とログの両方を明示的にリセットする必要があります。 
  • ログコレクタからのログは、再起動しても保持されます。再起動したポッドのログを表示するには、次のコマンドを実行します。

    kubectl -n appdynamics logs --previous <log-collector-pod-name>
    CODE

ログコレクタポッドが Cisco Cloud Observability に表示されない

ポッドが Cisco Cloud Observability に表示されない場合、またはポッドが登録およびレポートされていない場合は、ログコレクタのリソース要件を、ノードで使用可能な CPU およびメモリと比較します。「ログコレクタの要件」を参照してください。

セキュリティポリシーが有効な場合でもログコレクタポッドが作成されない

クラスタでポッドセキュリティポリシーが有効になっている場合、ログコレクタは root ユーザーとして実行する必要があります。

  1. collectors-values.yaml ファイルの logCollectorPod.securityContext.runAsUser0 に設定します。

    ...
    logCollectorPod
      securityContext: 
        runAsUser: 0
    YML
  2. AppDynamics コレクタをアップグレードします。:Kubernetes および App Service Monitoring のアップグレードまたはアンインストールを参照してください。


  3. (オプション)変更が適用されたことを確認するには、コマンド kubectl describe pod および kubectl get pod -o yaml を実行します。

ログが解析されない

パーサーのタイプまたはパターンを更新する必要がある場合があります。「Create Parsing Patterns」を参照してください。

フィールド [severity] に値 unknown を持つログメッセージが表示された場合は、ログが解析されていない可能性があります。また、ログに severity という名前のフィールドが含まれていないことを意味する場合もあります。 

解析が失敗した理由

  1. [Logs] ページに移動し、[severity] フィールドの値が unknown のログメッセージを見つけます。
  2. [Properties] パネルで、[parsing_failure_reason] フィールドの値を確認します。これにより、問題解決のアイデアが得られる場合があります。

対象のパターンがログメッセージのパターンと一致しているか

  1. [Logs] ページに移動し、[severity] フィールドの値が unknown のログメッセージを見つけます。
  2. [Properties] パネルで、_messageParser オブジェクトの値を確認します。このオブジェクトに、このログメッセージと一致するパーサータイプとパターンがない場合は、解析設定を変更する必要があります。 

複数のログパターンがあるか

Kubernetes クラスタの複数のコンテナからアプリケーションログを送信する場合は、ログを生成するコンテナまたは Kubernetes インフラストラクチャごとに条件と構成のペアを作成する必要があります。「ログコレクタを構成する」を参照してください。

構成が古いか

必要な設定が collectors-values.yaml に含まれていることを確認します。「ログコレクタを構成する」を参照してください。

ログがエンティティに関連付けられていない

collectors-values.yaml が従来のレイアウトを使用している場合は、次の設定が含まれていることを確認してください。


OpenTelemetry と Kubernetes の商標に関する免責事項
OpenTelemetry™ と Kubernetes®(該当する場合)は、The Linux Foundation® の商標です。