皆さんこんにちは
お元気ですか。私はISUCONで負けました。
前回はCPUの温度監視をしました。だが、まだ情報が足りません。
そう、GPUの監視情報です。一般的にはnvidia-smiから情報を取得できますが
これをZabbixで見たいと思います。
同じようなことを考える人は古今東西にいるもので、
Zabbix Agentの設定、テンプレートまで公開されています。それに沿って可視化しましょう。
Zabbix Agentの設定
Zabbix AgentにUserParameterを設定します。
このパラメータを設定することでZabbixAgentに新しくメトリックを追加できます。
今回のテンプレートでは、次の内容を追加します。
UserParameter=gpu.temp,nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits -i 0 UserParameter=gpu.memtotal,nvidia-smi --query-gpu=memory.total --format=csv,noheader,nounits -i 0 UserParameter=gpu.used,nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -i 0 UserParameter=gpu.free,nvidia-smi --query-gpu=memory.free --format=csv,noheader,nounits -i 0 UserParameter=gpu.fanspeed,nvidia-smi --query-gpu=fan.speed --format=csv,noheader,nounits -i 0 UserParameter=gpu.utilisation,nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits -i 0 UserParameter=gpu.power,nvidia-smi --query-gpu=power.draw --format=csv,noheader,nounits -i 0
テンプレートの設定
さて、githubにテンプレート(nvidia_smi_template.xml)があります。
このテンプレートをZabbixに読み込ませます。
そして、Hostsから対象のサーバにテンプレートを適用します。
さて、この状態でグラフを見ます。4種類のグラフが増えています。
- GPU Tempareture・・・GPUの温度の確認ができる
- GPU Power・・・GPUの消費電力の確認ができる
- GPU Memory・・・GPUメモリの状態の確認ができる
- GPU Utilisation・・・GPUの利用率を確認できる
試しにこのグラフを表示します。一応全てのキャプチャを撮影しました。
GPU Tempareture
GPU Power
GPU Memory
GPU Utilisation
それぞれ監視ができています。この状態で、異常が起こった場合の状態を確認できます。