Zabbix5.0でのsnmpbulk処理について
Zabbixバージョン:5.0.6
Zabbixプロキシバージョン:5.0.6
OS:CentOS Linux release 7.6.1810
Zabbix5.0にて、SNMPエージェントホストに対し、
「bulkリクエストを使用」にチェックを入れ、400個近いアイテムの監視をしています。
監視ソースはZabbixProxyです。現状、500~600ホストに対して実行しています。
ただ、このサーバの上位にいるアプライアンスF/Wのセッション数が高騰していたため、
確認したところ、ZabbixProxyからの通信が、bulk処理が行われておらず、
400個のアイテムに対して、400個のセッションがあることが確認できました。
ZabbixProxyのログを確認すると、
「failed: first network error,」が出た後に、「 connection restored」がでていたので、
ホスト側が原因かと思い、
同環境に存在する、Zabbix4.0のサーバにて、
同じホスト、同じアイテムを生成し確認したところ、bulk処理されており、
20~30程度のセッションでした。
ZabbixProxyの主なパラメータは下記です。
Timeout=5
UnreachablePeriod=180
UnavailableDelay=60
UnreachableDelay=60
ConfigFrequency=600
StartPollers=1000
StartPollersUnreachable=200
StartPingers=300
5.0.6のバグ情報などを確認してもsnmpbulkに関するも情報はありませんでした。
ZabbixProxyのパラメータや、OS側の設定などで解消するか、ナレッジがあれば共有頂けないでしょうか。
不足情報ありましたらご指摘お願い致します。
adams - 投稿数: 9
追加になります。
監視ソースをZabbixManagerにて同ホストに実施してみたところ、
正確にbulk処理された通信が行っていました。
adams - 投稿数: 9
ZabbixProxy
にて、「Startpoller」を1000から30に変更実施したところ、
・467ホスト(467インターフェース)
・200443アイテム(すべてSNMPエージェント)
・監視間隔全て3分
で、キューもほぼ0、bulk処理もされたセッションが張られていることがわかりました。
StartPollerの設定値の定め方に、うまい方法はなく、
都度、Zabbix、DBの負荷状況を確認しながら変更していく方法しかないでしょうか。
TNK - 投稿数: 4768
そのプロキシ配下で、どの程度の並行処理が必要かによってプロキ
シのStartPollersの値として必要となる値が変わってきます。
監視する対象の数やレスポンスタイム、頻度など、その環境に合わ
せてチューニングすることが必要です。
Zabbixプロキシ用のテンプレートを使用すれば、各プロセスのbusy
率が取得できるようになっていたはずです。
そこで、busy率が70%未満ぐらいで抑えられるように設定すれば、
無駄が少ない状態となるでしょう。
1000とかにしていると、それだけデータベースへの接続数が増えて
しまうので、設定によっては、コネクション不足で機能しなかった
り、処理パフォーマンスが低下してしまってスムーズに処理できな
い状態になってしまっていたのではないでしょうか?
せっかくZabbixを使用されているのであれば、プロキシサーバーの
状態も監視するようにしてみてください。
adams - 投稿数: 9
TNKさん
ありがとうございます。
プロキシのビジー率を確認したところ、
5~10%程度を推移しておりました。
色々と試した結果、StartPollerを1000から20~30程度にすると、
snmpセッションがbulkされたようになりました。
もちろん、キューがたまったり、プロキシ、マネージャで負荷があがったりということもありませんでした。
Poller数に正解はなく、都度チューニングを実施し最適解を導く方法が現実的なのでしょうか。
TNK - 投稿数: 4768
環境に依存するので、固定的な正解はありません。
監視の設定だけではなく、ネットワークや監視対象の状態によって
も、より適した数は変化する場合があるので、busy率があまり高く
なってしまわないよう都度チューニングするべきだと思います。