シンプルチェック(icmpping)における<timeout>パラメータとSNMPエージェント監視における再送回数について

お世話になります
ご教示戴ければお願い致します。

表記の件につきまして、下記の理解で正しいでしょうか。

Q1.シンプルチェック(icmpping)におけるパラメータの値は、
Zabbix_server.confにて設定する値より小さい値である必要があると理解したのですが
この理解で正しいでしょうか。
*よって30秒以下となる

Q2.SNMPエージェント監視における再送回数の指定は出来ないと理解したのですが
この理解で正しいでしょうか。
※checks_snmp.c上のsession.retriesを変更すれば可能!?

よって、SNMPエージェント監視における再送回数(値の取得不可時)の設定がない為、
・対象アイテム(更新間隔)リクエスト開始→応答なし<タイムアウト>(Zabbix_server.conf値までに)→対象アイテム(ホスト利用不可)→対象アイテムは次回まで更新待ちとなる。
 →トリガー判定可能
・対象アイテム(更新間隔)リクエスト開始→応答なし<タイムアウト以外>対象アイテム(アイテム取得不可)→対象アイテムは次回まで更新待ちとなる。
 →トリガー判定不可能
※現行はリクエストが失敗すると再送なしとなり上記どちらかになると理解しました。

環境:
Zabbixサーバ:CentOS6
managerバージョン:2.2系

お手数をお掛け致しますが、宜しくお願い致します

コメント表示オプション

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

@kaz373さん

Q1.シンプルチェック(icmpping)におけるパラメータの値は、
Zabbix_server.confにて設定する値より小さい値である必要があると理解したのですが
この理解で正しいでしょうか。
*よって30秒以下となる

Timeoutの事を言ってますか?A(^^;

Q2.SNMPエージェント監視における再送回数の指定は出来ないと理解したのですが
この理解で正しいでしょうか。
※checks_snmp.c上のsession.retriesを変更すれば可能!?

はい。
その通りです。

よって、SNMPエージェント監視における再送回数(値の取得不可時)の設定がない為、
・対象アイテム(更新間隔)リクエスト開始→応答なし<タイムアウト>(Zabbix_server.conf値までに)→対象アイテム(ホスト利用不可)→対象アイテムは次回まで更新待ちとなる。
 →トリガー判定可能
・対象アイテム(更新間隔)リクエスト開始→応答なし<タイムアウト以外>対象アイテム(アイテム取得不可)→対象アイテムは次回まで更新待ちとなる。
 →トリガー判定不可能
※現行はリクエストが失敗すると再送なしとなり上記どちらかになると理解しました。

応答なし=タイムアウトです。
SNMPエージェントとZabbixは通信できたけど応答が変んと言う状況はあります。
その場合は取得不可(NOTSUPPORTED)になります。

応答なしの場合は…
1.unavailableフラグに1が立ちログに〜 first network error〜が出力されます。
2.zabbix_server.confの1の状態からUnreachablePeriod(デフォルト45秒)経過していない 且つ
UnreachableDelay(デフォルト15秒)を経過したら、再度通信チェック
エラーの場合はログに〜 anoter network error〜が出力されます。
3.UnreachableDelayの周期で2の処理を繰り返します。
4.UnreachablePeriodを超えたらhost unavailable(ホスト利用不可)になります。

managerバージョン:2.2系

バージョンはマイナーバージョンまで書いた方が話がスムースに進みます。A(^^;
2.2.0と2.2.9ではかなり中身が違うんで…(笑)

以上、宜しくお願い致します。

ユーザー Sono un fan di Zabbix. の写真

KAZさん お世話になります。
ご教示頂きありがとうございます。

下記コメント致します。ご確認頂ければ助かります。

>Timeoutの事を言ってますか?A(^^;
Zabbix_server.confにあるTimeoutのことを指してます。
*言葉足りずにすみません

>応答なしの場合は…
>1.unavailableフラグに1が立ちログに〜 first network error〜が出力されます。
>2.zabbix_server.confの1の状態からUnreachablePeriod(デフォルト45秒)経過していない 且つUnreachableDelay(デフォルト15秒)を経過したら、再度通信チェックエラーの場合はログに〜 anoter network error〜が出力されます。
>3.UnreachableDelayの周期で2の処理を繰り返します。
>4.UnreachablePeriodを超えたらhost unavailable(ホスト利用不可)になります。

上記について、質問させて下さい。
Q1.「応答なし」の場合(Zabbix_server.logに~first network error~ログが出力されている場合)は、上記ご説明(1~4)の処理に移行し、また、取得不可(NOTSUPPORTED)の場合(Zabbix_server.logに~became not su
pported~ログが出力されている場合)は、移行せずに対象アイテムは次回の更新待ちとなると理解しましたが正しいでしょうか。
これは、マニュアル(2.2 日本語)「2 SNMPエージェント 概要」に記載があるとおり(「以前は、SNMPライブラリのデフォルトのタイムアウトおよびリトライの各値(それぞれ1秒およびリトライ5回)が、実際に使用されていました。」)
「リトライしない」こと(bulk get対応!?)による新しい機能と理解しました。

Q2.
>4.UnreachablePeriodを超えたらhost unavailable(ホスト利用不可)になります。
とありますが、「ホスト利用不可」になった場合、「ホスト利用可」になるタイミングは、何の契機を持って判定(利用不可→利用可又は、利用不可→利用不可)されるのでしょうか?
*ホスト利用不可となったホストに対して、アイテム取得(ホストに紐づくアイテム達)の更新タイミングを契機にしてでしょうか

>バージョンはマイナーバージョンまで書いた方が話がスムースに進みます。A(^^;
>2.2.0と2.2.9ではかなり中身が違うんで…(笑)
2.2.6となります
ご指摘ありがとうございます。以後、マイナーバージョンまで気を付けたいと思います

お手数をお掛け致しますが宜しくお願いします。

ユーザー KAZ の写真
@kaz373さん

>Timeoutの事を言ってますか?A(^^;
Zabbix_server.confにあるTimeoutのことを指してます。
ソース追っかけてみました。(icmppingはあまり変わらないと思い2.2.9で追いました。)
ICMP pingを処理するpinggerプロセスは以下の様な呼び出しになっているみたいです。
で、zabbix_server.confのTimeoutを使用しているところは見つかりませんでした。
main_pinger_loop			
├	get_pinger_hosts		
├	process_pinger_hosts		
│	├	add_pinger_host	
│	├	do_ping	
│	│	└	process_ping  <-実際のping実行
│	└	process_values	
│		└	process_value <- 取得した値の設定
├	free_hosts		
├	DCconfig_get_poller_nextcheck		
├	calculate_sleeptime		
└	zbx_sleep_loop		
シンプルチェックのpingのみタイムアウトはICMP pingの書式の<timeout≶を使用しているかと…
icmpping[<target≶,<packets≶,<interval≶,<size≶,<timeout≶]
icmppingloss[<target≶,<packets≶,<interval≶,<size≶,<timeout≶]
icmppingsec[<target≶,<packets≶,<interval≶,<size≶,<timeout≶,<mode≶]
※:<timeout≶のデフォルトは500ミリ秒だどうです。

Q1.「応答なし」の場合(Zabbix_server.logに~first network error~ログが出力されている場合)は、上記ご説明(1~4)の処理に移行し、
また、取得不可(NOTSUPPORTED)の場合(Zabbix_server.logに~became not supported~ログが出力されている場合)は、
移行せずに対象アイテムは次回の更新待ちとなると理解しましたが正しいでしょうか。
取得不可の場合、「取得不可アイテムの更新間隔(秒)」が適用されます。
※:SNMP以外でもそうです。
メニューの[管理]-[一般設定]を選択し、画面右上のドロップダウンで「その他」を設定すると設定画面が表示されます。
デフォルトは600秒です。
取得不可が回復されるまで、この間隔でチェックされます。

Q2.
>4.UnreachablePeriodを超えたらhost unavailable(ホスト利用不可)になります。
とありますが、「ホスト利用不可」になった場合、「ホスト利用可」になるタイミングは、何の契機を持って判定(利用不可→利用可又は、利用不可→利用不可)されるのでしょうか?
*ホスト利用不可となったホストに対して、アイテム取得(ホストに紐づくアイテム達)の更新タイミングを契機にしてでしょうか
host unavailableとなるとunreachable poolerプロセスがzabbix_server.confのUnavailableDelayの間隔でホストが利用可能になったか確認を行います。

以下マニュアルです。
6 接続不可能/無効 なホストの設定
https://www.zabbix.com/documentation/2.2/jp/manual/appendix/items/unreachability
ユーザー Sono un fan di Zabbix. の写真

KAZさん お疲れ様です

早々にご教示ありがとうございます
下記、コメントします。ご確認頂ければ助かります。

>シンプルチェックのpingのみタイムアウトはICMP pingの書式の<timeout>を使用しているかと…
>※:<timeout>のデフォルトは500ミリ秒だどうです。

2.2日本語マニュアル(5 シンプルチェック 5.1 概要)に、「タイムアウト処理 Zabbixは、Zabbixサーバ設定ファイルで定義されているタイムアウト時間(秒)よりも長いシンプルチェックを処理しません。」と記載があった為、
ICMP pingの<timeout>パラメータ値は、Zabbix_server.confの<Timeout>パラメータ値より短い時間を指定する必要があるのかと、理解した為このような質問をさせて頂きました。
ソースまでご確認頂きありがとうございます。
fpingのタイムアウト値が有効になるということですね。

>取得不可の場合、「取得不可アイテムの更新間隔(秒)」が適用されます。
>※:SNMP以外でもそうです。
>メニューの[管理]-[一般設定]を選択し、画面右上のドロップダウンで「その他」を設定すると設定画面が表示されます。
>デフォルトは600秒です。
>取得不可が回復されるまで、この間隔でチェックされます。

理解出来ました。
ありがとうございます。
※参考にまでに
デフォルト600秒とのことですが、設定可能は範囲をご存知でしたらご教示頂けますでしょうか。
マニュアルを参照してみたのですが、記載がないように見受けられ為、よろしくお願いします。

>host unavailableとなるとunreachable poolerプロセスがzabbix_server.confのUnavailableDelayの間隔でホストが利用可能になったか確認を行います。

理解出来ました。
ありがとうございます。

丁寧なご説明で大変良くわかりました。
ありがとうございます。

ユーザー KAZ の写真

@kaz373さん

2.2日本語マニュアル(5 シンプルチェック 5.1 概要)に、「タイムアウト処理 Zabbixは、Zabbixサーバ設定ファイルで定義されているタイムアウト時間(秒)よりも長いシンプルチェックを処理しません。」と記載があった為、
ICMP pingの<timeout>パラメータ値は、Zabbix_server.confの<Timeout>パラメータ値より短い時間を指定する必要があるのかと、理解した為このような質問をさせて頂きました。
ソースまでご確認頂きありがとうございます。
fpingのタイムアウト値が有効になるということですね。

シンプルチェックの中でICMP Pingはfpingのタイムアウト値が有効になるのかと。
収集するプロセス自体がpinggerプロセスで別なので…
私もzabbix_server.confのTimeoutが有効かと思ってました。A(^^;

デフォルト600秒とのことですが、設定可能は範囲をご存知でしたらご教示頂けますでしょうか。
マニュアルを参照してみたのですが、記載がないように見受けられ為、よろしくお願いします。

PHPのソースで制限がかかってました。0 〜 65535まで入力可能です。
多分、0は取得不可になったら更新しなくなるのかなと…これは推測になります。

■補足
&や<、>等の文字はエスケープかけないと後ろ崩れてしまうので書き込む時に気を付けてください。
書き込みは修正しておきました。

ユーザー Sono un fan di Zabbix. の写真

KAZさん お疲れ様です

>シンプルチェックの中でICMP Pingはfpingのタイムアウト値が有効になるのかと。
>収集するプロセス自体がpinggerプロセスで別なので…
>私もzabbix_server.confのTimeoutが有効かと思ってました。A(^^;
了解です。

>多分、0は取得不可になったら更新しなくなるのかなと…これは推測になります。
はい。
マニュアルより「「0」に設定した場合、自動アクティベーションが無効になります。」の記載を確認しました。

>■補足
>&や<、>等の文字はエスケープかけないと後ろ崩れてしまうので書き込む時に気を付けてください。
>書き込みは修正しておきました。

お手数かけました。以後気を付けます。

ご教示ありがとうございました。
色々勉強させて頂きました。

では。