SimpleCheckのTimeout設定について

はじめまして。日ごろForumを参考にさせていただいております。
Zabbix1.6.2の監視設定についてご質問させてください。

i386用FreeBSD 7.1 Release環境にZabbix-1.6.2,1というパッケージを導入し、
1分間隔のSimpleCheckを多数(1000程度)設定した状態で負荷テストを行ったのですが、
ファイアウォールのパケット遮断機能によって擬似障害を引き起こした際、
指定間隔での監視ができなくなってしまいました。

RSTが返る状況では問題が出ないためタイムアウト待ちが原因と推測しまして、
zabbix_server.confのTimeoutを1秒に設定してみたのですが、
httpsの監視に利用しているキーtcp,443が、設定値以上に待ち時間をとっているようです。

試しにTimeout1秒の設定で返信パケットに2秒程度の遅延をかけてみたところ、
sshのSimpleCheckは切断と判定されるのに、tcp,443は接続と判定されました。
逆にTimeout設定を30秒、遅延を5秒程度に設定してみたところ、
sshは接続と判定され、tcp,443は切断と判定されました。

色々試してみた結果、待ち時間が3秒程度で固定されているようなのですが、
tcpのsimplecheckはタイムアウト時間の設定ができないのでしょうか。

もしタイムアウト設定を変更する方法がありましたら、
ご教示いただけましたら幸いです。
どうかよろしくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

1.6.5のソースで確認したところ、ご指摘の通りポート接続監視はタイムアウトが3秒で固定されているようです。

現時点ではタイムアウトを3秒以上に指定するためにはソースを修正してコンパイルしなおす必要があります。

ユーザー tsukiyama の写真

ご回答ありがとうございます。

あの後バージョンをあげてテストもしてみましたが、
最新バージョンでも3秒固定になっているのですね。

ソース修正となると私の技術レベルを超えてしまうので、
後々のアップデートなどで対処できない可能性が高く、
プロセス数を増やして対処することに致しました。

このたびはどうも有難うございました。

ユーザー giko の写真

はじめまして。横から失礼します。

ポート接続監視のタイムアウト時間を固定している箇所を探しているのですが、当たりが付きません。

もしよろしければ、対象ソースだけでも教えて頂ければと思います。
宜しくお願いします。

ユーザー kodai の写真

こんにちは。

src/libs/zbxsysinfo/common/net.cの、tcp_expect()関数でzbx_tcp_connect()関数を使用する際に引数として"3"を渡している箇所です。

ユーザー giko の写真

>>kodaiさん

ご教示ありがとうございます。
お礼が遅くなり申し訳ありませんでした。

今後もよろしくお願いします。