一部のアイテムのキューが溜まる
お世話になっております。
ZabbixServer側
バージョン: 2.2.7
OS: CentOS5.5
ZabbixAgent側
バージョン: 2.2.5
OS: Windows Server 2008 R2 Standard (仮想サーバ)
アイテムを31点登録しており、値も取得できているのですが
下記2点のアイテムのみキューに溜まって値が取れない状態になっています。
※キューは現在20d 16h 32m遅延している状態です。
[取れていないアイテム]
タイプ: Zabbixエージェント
キー: vm.memory.size[free]
更新間隔: 30秒
タイプ: シンプルチェック
キー: icmpping
更新間隔: 30秒
zabbix_server.logを確認したのですが、でなくなった際に下記の内容が出力されていましたが、その後は該当アイテムに関連する内容は出力されていません。
Zabbix agent item "vm.memory.size[free]" on host "hostname" failed: first network error, wait for 15 seconds
vm.memory.size[total]の値は問題なく取得できているのですが、
vm.memory.size[free]がキューに溜まる原因は何が考えられるのでしょうか。
よろしくお願いします。
TNK - 投稿数: 4731
Zabbixサーバ側から値を取得しようとしたときに、デフォルトなら
3秒で応答が返ってこないと上記のようなエラーが出力されます。
そしてアイテムの状態は取得不可の状態となります。
その他の値が取得できているのであれば、Zabbixサーバ側、Zabbix
エージェント側両方のTimeoutの値を伸ばしてみてください。
icmppingがキューに溜まってしまうのであれば、icmppingでチェッ
クしているホストの数が多かったり、チェックする間隔が短くて処
理しきれない状態になっていることが考えられます。
テンプレートのTemplate App Zabbix Serverを利用されているので
あれば、icmp pingerプロセスのbusy率(Zabbix busy icmp pinger
processes, in %)の値を確認してください。
100%に近い状態であるならば、Zabbixサーバの設定ファイル内の
StartPingers
の数を増やしてみてください。
# 設定ファイルの変更後には、それぞれのプロセスの再起動が必要
# です。
trtes - 投稿数: 4
回答ありがとうございます。
> Zabbixサーバ側から値を取得しようとしたときに、デフォルトなら
> 3秒で応答が返ってこないと上記のようなエラーが出力されます。
> そしてアイテムの状態は取得不可の状態となります。
アイテムの状態は取得不可ではなく有効となっていました。
> その他の値が取得できているのであれば、Zabbixサーバ側、Zabbix
> エージェント側両方のTimeoutの値を伸ばしてみてください。
タイムアウト値はサーバ、エージェントとも30で起動しています。
> テンプレートのTemplate App Zabbix Serverを利用されているので
> あれば、icmp pingerプロセスのbusy率(Zabbix busy icmp pinger
> processes, in %)の値を確認してください。
Template App Zabbix Serverを使用しているかどうかはどうみればよいかわかりませんでしたが、
Zabbix busy icmp pinger processes. in % の値は98.31%でした。
StartPingersはデフォルトの1のままでした。
増やす値の目安がわかりませんが、1ずつ増やしていってキューが減るかどうか見ていく感じになるのでしょうか?
TNK - 投稿数: 4731
どのくらいの台数にどのくらいの頻度でicmppingを実行しているか
次第です。
すぐに応答が返ってくるホストもあるでしょうし、そうではないホ
ストもあるでしょうから、それらを考慮してどのくらいのプロセス
で並行してチェックを行えば滞留してしまわないかを計算して設定
してください。
プロセスのBusy率は、60~70%程度以下に抑えるとよいと思います。
ギリギリにして極力プロセスを増やしたくないということであれば、
1つづつ増やしてzabbix_serverプロセスを再起動して確認してでも
かまいません。
しかし、監視対象のホストを追加したらまた滞留してしまう可能性
がありますので、今後の運用対象の増減や運用環境も考慮してご検
討ください。
trtes - 投稿数: 4
回答ありがとうございます。
> ギリギリにして極力プロセスを増やしたくないということであれば、
> 1つづつ増やしてzabbix_serverプロセスを再起動して確認してでも
> かまいません。
> しかし、監視対象のホストを追加したらまた滞留してしまう可能性
> がありますので、今後の運用対象の増減や運用環境も考慮してご検
> 討ください。
ありがとうございます。
こちら検討してみます。
vm.memory.size[free]のほうはすでにタイムアウト値は最大の30なのですが、
他に見るべきところはありますでしょうか。。。
TNK - 投稿数: 4731
アイテムの状態が取得不可から回復しているのであれば、そのログ
も出力されていたはずです。
とにかく、アイテムの状態としては正常に取得できる状態になって
いて、キューに溜まってしまっているということですね?
Zabbixサーバの他のプロセスのBusy率は確認されましたか?
他のアイテムも値が取得できなくなっていませんか?
恐らく、Pollerの数が不足していると思われますが、Zabbixサーバ
の各プロセスの状態を確認して、不足しているプロセスの数を増加
させるか、監視するアイテムの数を減らしたり更新間隔を伸ばして、
1秒あたりの監視項目数を減らすか、どちらかの対応が必要になる
と思います。
trtes - 投稿数: 4
Zabbix busy poller processes, in % は28.96%でした。
アイテムはvm.memory.size[free]とicmpping以外はキューに溜まっておらず、
該当のサーバについてステータスは有効になっています。
zabbix_getでは溜まっているキューのアイテムの値が問題なく取得できたので、
やはり、サーバのチューニングが必要ということでしょうか。