Zabbix busy http poller processes, in の閾値越えについて
いつもお世話になっております。
Zabbixサーバに対し、デフォルトで用意されている「Template App Zabbix Server」を設定しております。
このテンプレート内に[Zabbix busy http poller processes, in]がありますが、
このアイテムの使用率が100%で張り付いている状況です。(添付画像)
お恥ずかしい話ですが、
このテンプレートは教本通りにつけてあるだけで、
発生した場合、何を確認して、何をすれば良いのか
私自身わかっておりませんでした。
現在わかっていることは以下です。
①Web監視を4つ設定してあり、4つのURLの接続確認を60秒間隔で行っています。
また、このWeb監視に関わらず、その他のアイテムについても半年前に設定後、追加変更しておりません。
②対象URLを直接ブラウザで確認しましたが、正常に表示されます。
③ZabbixサーバのCPU使用率がhttp pollerの閾値越えと同時に上昇しておりました。
topで確認したところ、zabbix-serverがリソースを食っておりました。
(問題発生前:CPU使用率平均10%、CPU使用率問題発生後:CPU使用率平均65%)
④4つのURL接続確認は出来ているものの
URL接続監視を設定すると自動的に追加される「Download speed for scenario」
「Download speed for step」の値が取れていませんでした。
⑤Zabbix_server.logにはエラー出力はされておりませんでした。
⑥Zabbix-serverを再起動しましたが、依然としてhttp polleが100%に張り付いたままです。
バージョンはZabbix 2.2.8です。
初歩的で申し訳ないのですが、
"監視アイテムを新たに追加したため発生した…"といった背景があれば理解できるのですが、
半年間稼働している何も変更を加えていないZabbixサーバにおいて、
急にCPU使用率が上がったり、poller使用率が上がるということはあるのでしょうか?
- http poller.png (91.97 KB)
TNK - 投稿数: 4769
可能性としては考えられます。
Busy率が上昇したのがhttp pollerとのことですので、Web監視の処
理で何らかの処理に時間がかかって、設定されているWeb監視の処
理を更新間隔の時間の間に処理しきれなくなったことが考えられま
す。
引き金となった原因はその環境次第ですが、リクエストを投げるた
めの接続に時間がかかったり、応答が返却されるのに時間がかかっ
たりすることで、処理に時間がかかってしまうと、処理しているう
ちに、次の更新タイミングが来てしまってキューに溜まってしまう
のです。
デフォルトの設定のままであれば、http pollerプロセスは1つだけ
しか起動されませんので、並行で別のWebサーバの処理もできず、
一度滞留してしまうとより顕著に雪だるま式にキューに次々と溜ま
ってしまいます。
ですので、Web監視の設定の対象のホスト数やシナリオのステップ
数を考慮して、起動時のhttp pollerの数を増やしてみてください。
設定個所は、zabbix_serverの設定ファイルである
/etc/zabbix/zabbix_server.conf
内の、
StartHTTPPollers
の値を1よりも大きな値に設定してみてください。
設定の反映には、zabbix_serveプロセスの再起動が必要です。
kaeru - 投稿数: 264
TNK様
ご回答ありがとうございます。
>Busy率が上昇したのがhttp pollerとのことですので、Web監視の処
>理で何らかの処理に時間がかかって、設定されているWeb監視の処
>理を更新間隔の時間の間に処理しきれなくなったことが考えられま
>す。
確認したところ、値が取れなくなる直前に
「Download speed for scenario」が急激に悪化しておりました。
ご指摘を頂いた通り、Webサーバ側のレスポンスが悪化したために
発生した事象のようです。
溜まっていたキューを処理し終えたのか、
先ほど自然解消しました。
http pollerが張り付いて値が取れておらず、
Webサーバのレスポンスがどの程度悪かったのか判断できないため、
頂いた内容通り、http pollerの数を増やすことで対応致します。
ご回答、誠にありがとうございました。