zabbix_server.confのTimeoutについて
いつもお世話になっております。
zabbix_server.confのTimeoutは下記URLによれば「接続タイムアウト」とのことですが、このTimeout時間を大きくすることによって何か不具合が生じますか?
http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=443&forum=5
デフォルトではTimeout=3となっていますが、JMX監視を実施しようとしたところその設定では監視できず、Timeout=30として監視ができるようになりました。
何も問題なければそれでよいのですが、考慮すべきポイントがある場合は教えていただきたく思います。
よろしくお願いします。
tsuzuki - 投稿数: 78
Zabbix-JPの鈴木です。
一般的にはTimeoutを延ばすのはあまりよくありませんが、JMXの場合は仕方ないと思います。
デメリットとして、監視に時間がかかる監視アイテムが大量にあるとZabbixの監視プロセスがそこに時間を取られてしまって、監視が遅延してしまう可能性があります。
このようなことを防ぐためには、zabbixの「キュー」を見て大きく遅延していないか確認し、遅延が発生している場合にはStartPollersなどの遅延している項目を増やしてやる必要があります。
よろしくお願いします。
nj_nn - 投稿数: 24
返信ありがとうございます。
解説と対処法がわかりやすく助かります。
ありがとうございます。
ちなみにJMXの場合、Timeoutを延ばさざるを得ないのはどのような理由からなのでしょうか?接続にそんなに時間がかかる理由がわかりません。
わかっている範囲で結構ですので教えていただけませんでしょうか。
よろしくお願いします。
nj_nn - 投稿数: 24
追加です。
JMX監視だけでなく、ESXサーバの監視でもTimeout=3では接続タイムアウトになってしまいます。
このようにJMX監視やESXサーバの監視に時間がかかってしまう理由は何なのでしょうか?
ご回答よろしくお願いいたします。
TNK - 投稿数: 4671
値取得にかかる時間は、それぞれのサーバの負荷状況や性能、値を
取得するために利用している機能の実装方法に依存すると思います。
例えば、実装方法に関してですが、JMXの値取得の為にアクセスす
る度にJVMを起動して取得するような実装であったりすると、JVMの
起動自体に時間がかかってしまいますし、それを並行して複数実行
した場合にはなおさら時間がかかってしまいます。
また、ネットワーク的に距離がある場合には、そのネットワークの
行きと帰りにかかる時間も影響してきます。
具体的に何を利用してJMXやESXの値を取得されているのかわかりま
せんが、その取得に利用されている方法に改善できる箇所がないか、
サーバ自体の負荷が高い状態になっていないかもご確認ください。
しかし、負荷が高くなくても取得する値によっては3秒くらいかか
る場合もあったと思うので、デフォルトよりは長めの設定にして
おいたほうが良いと思います。