Pocket

Zabbix Agent 側の system.cpu.load 値が取得が出来なかったので調査した記録

  • add this entry to hatena bookmark

ZabbixサーバからZabbixエージェントに対してsystem.cpu.load値を取得する事が出来ない状態でした。ログ確認やzabbix_getコマンドでの調査などを行い原因が分かったので、その作業結果を記録しておきます。

問題事項

Zabbixエージェントで監視をしているLinuxサーバがあり、テンプレートは「Template OS Linux(Template App Zabbix Agent)」を使っています。

そのLinuxサーバのItems一覧で、以下の項目のステータスが「Not supported」になっていました。

  • Processor load (1 min average per core) system.cpu.load[percpu,avg1]
  • Processor load (5 min average per core) system.cpu.load[percpu,avg5]
  • Processor load (15 min average per core) system.cpu.load[percpu,avg15]

ちなみに、Zabbix Serverは「2.0.5」、Zabbix Agentは「1.8.16」を使っています。

ログ調査

Zabbix Agent側でログファイル「zabbix_agentd.log」を確認しましたが、特に問題はありません。

Zabbix Server側でログファイル「zabbix_server.log」を確認すると、以下のログが出力されていました。

item [CheckSite:system.cpu.load[percpu,avg15]] became not supported: Not supported by Zabbix Agent
item [CheckSite:system.cpu.load[percpu,avg1]] became not supported: Not supported by Zabbix Agent
item [CheckSite:system.cpu.load[percpu,avg5]] became not supported: Not supported by Zabbix Agent

Zabbix Agentのバージョンが異なり、その結果として単純に「Not supported」なのかもしれません。

zabbix_get コマンドでの確認

zabbix_get コマンドでも確認してみました。

# zabbix_get -s (Zabbix Agent) -k agent.version
1.8.16
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[percpu,avg1]
ZBX_NOTSUPPORTED
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[percpu,avg5]
ZBX_NOTSUPPORTED
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[percpu,avg15]
ZBX_NOTSUPPORTED
# zabbix_get -s (Zabbix Agent) -k system.cpu
ZBX_NOTSUPPORTED
# zabbix_get -s (Zabbix Agent) -k system.cpu.load
0.310000
#

該当項目では「ZBX_NOTSUPPORTED」が表示されたので、バージョンの違いから来る key の設定違いなのかもしれません。単純に system.cpu.load を指定したら、それらしきデータが取れました。

原因判明

system.cpu.load についてググってみたところ、Zabbixサイト「Zabbix agent」に system.cpu.load に関する記載がありました。

それによると、system.cpu.load[<cpu>,<mode>] の<cpu> で、percpuパラメータ をサポートしているのは、Zabbix 2.0.0 からとの事でした。今回のZabbix Agent のバージョンは「1.8.16」でしたので納得できました。

<cpu>で試しにデフォルトのall(もしくは空文字)を指定して zabbix_get コマンドを実行すると、値が取れました。

# zabbix_get -s (Zabbix Agent) -k system.cpu.load[,avg1]
0.030000
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[,avg5]
0.120000
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[,avg15]
0.170000
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[all,avg1]
0.020000
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[all,avg5]
0.110000
# zabbix_get -s (Zabbix Agent) -k system.cpu.load[all,avg15]
0.170000
#

ちなみに、の説明は以下でした。
avg1 (one-minute average, default), avg5 (5-minute average), avg15 (an average within 15 minutes)

残課題

上記載のとおり、Zabbix Server 2.0.5 の「Template OS Linux(Template App Zabbix Agent)」テンプレートに付属する system.cpu.load では、Zabbix Agent 1.8.16 にてsystem.cpu.load の「percpu」modeに対応していない為、テンプレートをそのまま使う事は出来ないようです。

「percpu」modeを使わない方法を別途検討する事にします。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。