Zabbixのアイテムで「Zabbixエージェント(アクティブ)」タイプの監視をする際、Zabbix Agentの設定が間違っていると、アイテムの取得不可エラーで監視データが取得できない場合があります。
そんな時、ほとんどの場合は設定が間違っていることが多いです。
取得不可になる原因と対処法
ここでは前提として、ファイアウォールや設定ファイル(zabbix_agent2.conf)のServerActiveのIPアドレス設定はされているものとし、Zabbixエージェント側がWindows。
そして、アクティブチェックでよく使用するログ監視のアイテムキー(log、logrt)で監視している想定でご紹介します。
まずは、取得不可に関わらず、エラーが発生した場合はログを確認するように心掛けましょう。
ホスト名の設定を確認
アクティブチェックの際にアイテムの値が取得不可になった場合は、まず最初にZabbixエージェント側のログを確認してみてください。
no active checks on server [192.168.100.ZZZ:10051]: host [WindowsHost] not found
active check configuration update from [192.168.100.zzz:10051] started to fail (cannot connect to [192.168.100.AAA:10051]: Connection refused.)
上記のようなエラーが出ていたら、設定ファイル(zabbix_agent2.conf)の中でホスト名を設定している、次の2ヶ所を確認してみましょう。
Hostnameで設定している場合
「Hostname」にホスト名を設定している場合は、Zabbix Serverで設定しているホスト名と、Zabbixエージェントを導入しているWindowsの実際のホスト名を完全一致させる必要があります。
この時、アルファベットの大文字・小文字は区別されますので気をつけてください。
HostnameItemで設定している場合
次に「HostnameItem」でホスト名を自動的に設定している場合は、OSの種類によって少し注意が必要になります。
OSがWindowsであれば、Zabbix Server側のホスト名のアルファベットは全て大文字で設定する必要があります。
タイムアウトの設定を確認
以下のように、ログの最後が「timed out」になっていたら、タイムアウトの設定を確認します。
active check configuration update from [192.168.100.ZZZ:10051] started to fail
(ZBX_TCP_READ() timed out)
設定ファイル(zabbix_agent2.conf)の「Timeout」はデフォルトでは3(秒)です。
3秒もあればタイムアウトすることもないだろうと思っていたのですが、足りないみたいですね。。
こちらを最大の30秒に設定してしまいます。
これで解決するはずです!
今回は詳しく説明しませんが、もしそれでも解決しない場合は、ホスト側のログのパーミッションやログローテーションなどの設定を確認してみてください。
- Original:https://minory.org/item-value-not-available.html
- Source:Minory
- Author:管理者