目的
DatadogでNVIDIA Management Library(NVML) 公開メトリクスを監視する設定をします。
公式資料の補足としてご参考下さい。
Required
- Datadog
- Datadogへの登録
- DD_API_KEYの取得
- GPU: NVIDIA謹製
- OS: Ubuntu 18.04.2 LTS (Confirmed)
- Docker: 19.03.14 (Confirmed)
手順
Datadog監視エージェントの起動
-
Docker imageの作成
-
Dockerfile
-
用意されているDockerfileの例をダウンロード。
-
上記Dockerfileの末尾に、以下を追記。(=conf.yamlの作成)
# Use example as is RUN mv /etc/datadog-agent/conf.d/nvml.d/conf.yaml.example /etc/datadog-agent/conf.d/nvml.d/conf.yaml
-
-
Build
docker build --build-arg=DD_AGENT_VERSION=latest -t datadog-nvml:latest .
-
-
監視エージェントを起動し、監視を開始
docker run -d --name my-datadog-nvml --env DD_API_KEY=<your-api-key> datadog-nvml:latest
-
GPUの監視設定がされている事を確認
-
エージェントの状態を確認
docker exec -it my-datadog-nvml s6-svstat /var/run/s6/services/agent/ # OK: # up (pid xxx) xxxx seconds
-
Checkにnvmlが有る事を確認 (Agent の status サブコマンドを実行し、Checks セクションで nvml を探します)
docker exec -it my-datadog-nvml agent status | grep nvml # OK: nvml (1.0.1) Instance ID: nvml:xxxxx [OK] Configuration Source: file:/etc/datadog-agent/conf.d/nvml.d/conf.yaml # NG: No output > /etc/datadog-agent/conf.d/nvml.d/conf.yamlが存在しないor 内容がおかしい。> 手順1.1を見直す。
-
動作確認
-
GPUを使用してみる
# Get a training script wget https://raw.githubusercontent.com/pytorch/examples/main/mnist/main.py # Start training docker run -v $(pwd):/work --rm --gpus all nvcr.io/nvidia/pytorch:21.03-py3 python /work/main.py --no-mps
-
GPUの使用状況を確認
-
Datadogのダッシュボードにて
- インテグレーションを追加
Integrations > Integrations > NVMLと入力し検索 > Nvidia NVMLを選択 > Install
- メトリクスを探し、追加
Metrics > Explorer > Graph > nvmlと入力し検索
- merics一覧
- Docs > Integrations > Nvidia NVML > 収集データ > メトリクス
- e.g.
- nvml.gpu_utilization
- nvml.fb_used
- インテグレーションを追加