ログコレクタを構成するには、Kubernetes および App Service Monitoring の展開に使用したのと同じ値の YAML ファイルにログ固有の設定を追加します。通常、このファイルには collectors-values.yaml という名前が付けられています。見つからない場合は、「失われた値 YAML ファイルを回復する」を参照してください。

collectors-values.yaml の更新には 2 つの方法があります。基本設定を生成することも、自分でファイルを更新することもできます。以下に両方の方法について説明します。

基本設定の生成

クラスタへのログコレクタの展開を簡素化するために、基本的な collectors-values.yaml を生成できます。 

  1. [WebブロッキングCisco Cloud Observability テナント UI から、[Configure > Kubernetes and APM] に移動します。
  2. [Credential set name] と [Kubernetes cluster name] を入力します。
  3. [Enable Additional Configurations] セクションで、[Log Collector Agent] チェックボックスをオンにして、特別な設定が必要なオペレーティングシステムを選択します。
  4. [Generate configuration file] をクリックします。
    これにより、基本的な collectors-values.yaml ファイルが生成され、クラスタへのログコレクタの展開が簡素化されます。 
  5. コードスニペット(最小限)をコピーするか、生成されたファイルをダウンロードできます。このファイルには、より多くのコメントとコメントアウトされた設定が含まれています。 
  6. 次のいずれかのオプションを使用して、collectors-values.yaml を更新します。
    • ファイルをダウンロードし、そのファイル内の追加設定をアンコメントする必要がある場合は、「独自の設定の追加」を参照してください。
    • スニペットをコピーした場合は、既存の collectors-values.yaml のそのセクションを上書きします。
  7. 次の手順を参照してください。

独自の設定の追加

基本的な collectors-values.yaml を生成するかどうかに関係なく、次のように、ログコレクタの展開に必要な設定で更新できます。次の手順では、ほとんどのオプション設定を省略しています。すべての設定、有効な値などの完全な説明については、次の手順を実行する前に「AppDynamics Log Collector Settings」をプレビューしてください。

global で必要なパラメータを設定する

  1. 次で、Cisco Cloud Observabilityクラスタの名前を取得します。

    1. [Observe ] ページで、クラスタを選択します。
    2. [Properties] パネルで、クラスタの名前をコピーし、テキストファイルに保存します。
  2. [globalで、 clusterName をクラスタの名前に設定します。この名前は、次にあるクラスタの名前と一致する必要があります Cisco Cloud Observability

    global:
      clusterName: <cluster-name>
    YML

appdynamics-cloud-k8s-monitoring.install で必要なパラメータを設定する

appdynamics-cloud-k8s-monitoring.install で、logCollectortrue に設定します。

install:
  ...   
  logCollector: true
YML

appdynamics-cloud-k8s-monitoring.logCollectorPod でのオプションパラメータの設定

appdynamics-cloud-k8s-monitoring.logCollectorPodrollingUpdateMaxUnavailable を設定して、更新中に使用不可にできるログコレクタポッドの最大数を指定します。この値は、数値またはパーセンテージで指定できます。パーセンテージの場合は、 0% (各ポッドの再起動を待機)~ 100%(ポッドの再起動を待機しない)の値を指定します。新しい展開では、このパラメータはすでに 100% に設定されていますが、既存の展開では、このパラメータを追加する必要があります。詳細については、「AppDynamics Log Collector Settings」を参照してください。
例: 

  logCollectorPod: 
    rollingUpdateMaxUnavailable: 70%
YML

appdynamics-cloud-k8s-monitoring.logCollectorConfig キーを作成する

collectors-values.yamlappdynamics-cloud-k8s-monitoring.logCollectorConfig キーがない場合は、AppDynamics Log Collector Settings のサンプルからコピーして貼り付けます。

appdynamics-cloud-k8s-monitoring.logCollectorConfig.container.defaultConfig でオプションのデフォルトを設定する

appdynamics-cloud-k8s-monitoring.logCollectorConfig.container.defaultConfig で、 appdynamics-cloud-k8s-monitoring.logCollectorConfig.container.defaultConfig で、パラメータをデフォルトのログ収集条件に設定します。上書きする値のみを指定する必要があります。つまり、任意のパラメータのデフォルト値を使用する場合は、それを省略できます。ただし、defaultConfig を定義する場合は、logFormat が含まれている必要があります。mustlogFormat を指定しない場合、この構成で取り込まれたログメッセージに含まれる機密データをマスクすることはできません。

新しい展開では、デフォルトのログコレクションのために collectors-values.yaml を変更する必要はありません。ログコレクタを展開するだけで、タイムスタンプのみで解析されたシステム内のログをすぐに確認できます。その後、解析パターンテスターを使用して解析設定を段階的に調整できます(「解析パターンの作成」を参照)。Iデフォルトのログコレクションを有効にしない場合は、 defaultConfig.enabledfalse に設定します。

例: 

  logCollectorConfig: 
    os: [linux, windows]                                        
    container:
      defaultConfig: 
        enabled: true;           
        multiLinePattern: '^{'
        multiLineMatch: "after"
        multiLineNegate: true
        logFormat: "logs:email_logs"
        messageParser:           
          json:
            enabled: true
YML

appdynamics-cloud-k8s-monitoring.logCollectorConfig.container.conditionalConfigs でのオプションパラメータの設定

  1. appdynamics-cloud-k8s-monitoring.logCollectorConfig.container.conditionalConfigs で、ログ生成コンテナまたは Kubernetes インフラストラクチャごとに condition+config セクションのペアを作成します。
    1. condition で、ログコレクタがログを収集するためにコンテナが一致する必要がある条件を指定します。
      条件には 3 つのフィールドがあります。operatorequalscontainsorand)、key(プロパティの名前)、および value(一致する必要があるプロパティの値)。
      例:

        logCollectorConfig: 
          os: [linux, windows]                                        
          container:
            defaultConfig:            
              ...     
            conditionalConfigs: 
             - condition:
                or:
                  - equals:
                      kubernetes.container.name: log-gen-app-log4j-windows
                  - equals:
                      kubernetes.container.name: log-gen-app-log4j-linux
      YML
    2. config で、messageParser* パラメータの 1 つを設定します。

      1. ログメッセージが複数の行にまたがる可能性がある場合は、multilinePatternmultilineNegate、および multilineMatch を正しい値に設定して、複数行のログメッセージを適切に解析します。

      2. logFormat"<log-namespace>:<log-description>" に設定します。たとえば、"K8s:cis_logs" のようになります。その他の例については、「AppDynamics Log Collector Settings」を参照してください。指定しない場合、この構成を通じて取り込まれたログ メッセージに含まれる機密データをマスクすることはできません。logFormat 詳細については、機密データのマスキングを参照してください。

      3. enabledtrue に設定します。

      4. pattern を、このパーサータイプのログメッセージに一致する正規表現に設定します。
        たとえば、複数行の log4J ログの場合:

          logCollectorConfig:
            os: [linux, windows]                                        
            container:
              defaultConfig:            
                ...
              conditionalConfigs: 
               - condition:
                  ...
                 config: 
                  multiLinePattern: '^2023'
                  multiLineNegate: true
                  multiLineMatch: "after"
                  logFormat: "logs:email_logs"
                  messageParser:
                    log4J:
                      enabled: true
                      pattern: "%d{yyyy-MM-dd'T'HH:mm:ss} %p %C{1.} [%t] %m%n" 
        YML

Windows コンテナにログ コレクタを展開する場合

  1. appdynamics-cloud-k8s-monitoring.logCollectorConfig.os を、コンテナが実行しているオペレーティングシステムのリストに設定します。有効な値は、linuxwindows です。

      logCollectorConfig:
        os: [windows,linux]
    YML
  2. (オプション)異なるオペレーティングシステムに異なるログコレクタイメージを展開するには、appdynamics-cloud-k8s-monitoring.logCollectorPod.env.linux.imageappdynamics-cloud-k8s-monitoring.logCollectorPod.env.windows.image を設定します。

    logCollectorPod:
      imagePullPolicy: IfNotPresent
        env:
          linux:
            image: <image-url>
          windows:
            image: <image-url>
    YML
  3. (オプション)オペレーティングシステム固有の appdynamics-cloud-k8s-monitoring.logCollectorConfig.container のオーバーライドが必要な場合は、appdynamics-cloud-k8s-monitoring.logCollectorConfig.env を設定します。 次の一部のセクションを完全にオーバーライドする必要があります。 appdynamics-cloud-k8s-monitoring.logCollectorConfig.container。「AppDynamics Log Collector Settings」の正確な要件を参照してください。

      logCollectorConfig:
        os: [windows, linux]
        env: 
          linux: 
            container:
              defaultConfig:
                    ...
              conditionalConfigs:
                - condition:
                    ...
                 config:
                    ...
              logging:
                ...
              monitoring:
                ...         
          windows:    
            container:
              defaultConfig:
                    ...
              conditionalConfigs:
                - condition:
                    ...
                 config:
                    ...
              logging:
                ...
              monitoring:
                ...                                   
    YML

次のステップ

  1. YAML Lint などの YAML バリデータで collectors-values.yaml を検証します。
  2. 新しい設定をクラスタに適用するには、「ログコレクタの展開」の「クラスタに変更を適用する」を参照してください。

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