エージェントが収集するログファイルの設定

ロギングエージェントをデプロイまたはアップグレードするとき、 logs-values.yaml ファイルを設定して、エージェントによって処理されるログのセットを含めたり除外したりすることができます。 デフォルトでは、エージェントは /var/log/containers/*.log からログを収集し、 /var/log/at/* を無視します。

logs-values.yaml を変更した後、すべての変更を適用する前に、 エージェントをアップグレード するか、ファイルの変更を続行することができます。

カスタムログファイルの設定

エージェントによって処理されるログのセットを含めたり除外したりするために、以下の追加変数を提供することができる:

  • excludeLogSourcePaths:エージェントが無視するように設定されているファイルのリスト。 デフォルト値は無視に設定されている /var/log/at/*
  • selectedLogSourcePaths:エージェントが収集し、 IBM Cloud Logs に送信するファイルのリスト。 デフォルト値は /var/log/containers/*.log に設定されています。 カンマ区切りのリストを使って複数のパスを定義することができます(例: /var/log/abc/*.log,/var/log/xyz/*.log.

logs-values.yaml ファイルのエントリーは以下のようになっている:

# comma separated list, for example “/var/log/abc/*.log,/var/log/xyz/*.log”
excludeLogSourcePaths: ""
selectedLogSourcePaths: ""

システムコンポーネントログの設定

システム・コンポーネントのログには、クラスタで発生したイベントが記録されます。 システム・コンポーネントには、コンテナ内で動作するシステム・コンポーネントと、コンテナの実行に直接関与するシステム・コンポーネントの2種類がある。 例えば、kubeletとコンテナランタイムはコンテナでは実行されない。 Kubernetes スケジューラー、コントローラーマネージャー、APIサーバーは、ポッド内で実行される。 クラスタがkube-proxyを使用している場合、通常は DaemonSet.

/var/log ディレクトリにあるシステム・コンポーネント・ログの処理を有効にするには、 systemLogs 設定を使用します。 /var/log/containers/ のシステムログは、 excludeLogSourcePaths セクションで除外しない限り、自動的に収集される。

logs-values.yaml ファイルのエントリーは以下のようになっている:

systemLogs:
  - /var/log/kube-apiserver.log. # Logs generated by the API server.
  - /var/log/kube-scheduler.log # Logs generated by the scheduler. This component is responsible for making scheduling decisions.
  - /var/log/kube-controller-manager.log # Logs generated by the Kube controller manager that runs most Kubernetes built-in controllers.
  - /var/log/kube-proxy.log  # Logs generated by the kube-proxy. This component is responsible for directing traffic to Service endpoints.
  - /var/log/kubelet.log  # Logs generated by the kubelet. This component is responsible for running containers on the node.
  - /var/log/syslog

デフォルトでは、 kube_syslog パーサーが使用される。

クラシックな Kubernetes クラスタの中には、これらのシステムのタイムスタンプ形式と一致させるために、 systemLogsParserkube_syslog_classic に設定する必要があるものもある。 別のパーサーを使用する場合は、 systemLogsParser オプションを使用します。 logs-values.yaml ファイルのエントリーは以下のようになっている:

systemLogsParser: "kube_syslog_classic"
systemLogs:
  - /var/log/syslog