Zabbixのアクティブ監視で取得不可になったら確認すべき3つの設定

zabbix-not-availableテクノロジー

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の実際のホスト名完全一致させる必要があります。

zabbix_agent2.conf
Hostname=WindowsHost
・・・
# HostnameItem=system.hostname

この時、アルファベット大文字・小文字は区別されますので気をつけてください。

HostnameItemで設定している場合

次に「HostnameItem」でホスト名を自動的に設定している場合は、OSの種類によって少し注意が必要になります。

zabbix_agent2.conf
# Hostname=
・・・
HostnameItem=system.hostname
Zabbix Server側のホスト名
WINDOWSHOST

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秒に設定してしまいます。

zabbix_agent2.conf
# Timeout=3
Timeout=30

これで解決するはずです!
今回は詳しく説明しませんが、もしそれでも解決しない場合は、ホスト側のログのパーミッションログローテーションなどの設定を確認してみてください。

東京生まれ福岡育ちの文系プログラマー。
テクノロジーの恩恵を感じながら日々精進しています。
広く浅くをモットーに、最近ではプログラミングだけでなく、仮想サーバーからセキュリティ、監視システムなども勉強中です。

管理者をフォローする

コメント

タイトルとURLをコピーしました