Supported OS Linux

概要

このチェックは、Datadog Agent およびシステムプローブを通じて、OOM(メモリ不足)の強制終了プロセスというカーネルを監視します。

セットアップ

インストール

OOM Killer チェックは Datadog Agent パッケージに含まれています。システムプローブに実装された eBPF プログラムに依存します。

システムプローブにより使用される eBPF プログラムはランタイムでコンパイルされ、適切なカーネルヘッダーへのアクセスを必要とします。

Debian 系のディストリビューションでは、以下のようにカーネルヘッダーをインストールします。

apt install -y linux-headers-$(uname -r)

RHEL 系のディストリビューションでは、以下のようにカーネルヘッダーをインストールします。

yum install -y kernel-headers-$(uname -r)
yum install -y kernel-devel-$(uname -r)

: OOM Kill チェックが動作するためには カーネルバージョン 4.11 以降が必要です。 また、Windows およびバージョン 8 よりも前の CentOS/RHEL はサポートされません。

コンフィギュレーション

  1. Agent のコンフィギュレーションディレクトリのルートにある system-probe.yaml フォルダーで、以下のコンフィギュレーションを追加します。

    system_probe_config:
        enable_oom_kill: true
    
  2. OOM Kill メトリクスの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの oom_kill.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、oom_kill.d/conf.yaml の例を参照してください。

  3. Agent を再起動します

Docker でのコンフィギュレーション

上記に従い system-probe.yaml および oom_kill.d/conf.yaml をマウントすることに加え、以下の構成を行います。

  1. 以下のボリュームを Agent コンテナにマウントします。

    -v /sys/kernel/debug:/sys/kernel/debug 
    -v /lib/modules:/lib/modules 
    -v /usr/src:/usr/src
    
  2. BPF の動作を有効にするために、以下の権限を追加します。

    --privileged
    

    カーネルバージョン 5.8 からは、--privileged パラメーターを --cap-add CAP_BPF に置き換えることができます。

*: Docker Swarm では --privileged モードはサポートされていません。

Helm のインテグレーション

Datadog Helm チャートを使用し、values.yaml ファイルで datadog.systemProbedatadog.systemProbe.enableOOMKill のパラメータが有効であることを確認します。

Operator (v1.0.0+) による構成

DatadogAgent マニフェストで features.oomKill.enabled パラメーターを設定します。

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  features:
    oomKill:
      enabled: true

: COS (Container Optimized OS) を使用する場合は、ノード Agent で src ボリュームをオーバーライドしてください。

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  features:
    oomKill:
      enabled: true
  override:
    nodeAgent:
      volumes: 
      - emptyDir: {}
        name: src

検証

Agent の status サブコマンドを実行し、Checks セクションで oom_kill を探します。

収集データ

メトリクス

oom_kill.oom_process.count
(count)
The count of processes OOM killed
Shown as process

サービスのチェック

OOM Killer チェックには、サービスのチェック機能は含まれません。

イベント

OOM Killer チェックでは、強制終了されたプロセス ID とプロセス名、そしてトリガーしたプロセス ID とプロセス名を含む、各 OOM Killer のイベントが送信されます。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。