2 監視間隔のカスタマイズ

概要

アイテムがチェックされる時刻に関して、カスタムルールを作成できます。 そのための方法は2つあります。Flexible intervals ではデフォルトの更新間隔を再定義でき、Scheduling では特定の時刻または一連の時刻にアイテムのチェックを実行できます。

フレキシブル間隔

フレキシブル間隔を使用すると、特定の時間帯に対してデフォルトの更新間隔を再定義できます。 フレキシブル間隔は、IntervalPeriod で定義されます。各項目の意味は次のとおりです。

  • Interval – 指定した時間帯における更新間隔です。 時間のサフィックス がサポートされており、例えば 30s、1m、2h、1d を使用できます。
  • Period – フレキシブル間隔が有効になる時間帯です(Period の形式の詳細については time periods を参照してください)

複数のフレキシブル間隔が重複する場合、重複している時間帯には最小の Interval 値が使用されます。 重複するフレキシブル間隔の最小値が '0' の場合、ポーリングは実行されません。 フレキシブル間隔の時間帯以外では、デフォルトの更新間隔が使用されます。

フレキシブル間隔が期間の長さと等しい場合、アイテムはちょうど1回だけチェックされます。 フレキシブル間隔が期間より長い場合、アイテムは1回チェックされることもあれば、まったくチェックされないこともあります(そのため、このような設定は推奨されません)。 フレキシブル間隔が期間より短い場合、アイテムは少なくとも1回はチェックされます。

フレキシブル間隔が '0' に設定されている場合、そのフレキシブル間隔の時間帯ではアイテムはポーリングされず、期間終了後にデフォルトの Update interval に従ってポーリングが再開されます。 例:

Interval Period 説明
10 1-5,09:00-18:00 営業時間中、アイテムは10秒ごとにチェックされます。
0 1-7,00:00-7:00 夜間はアイテムはチェックされません。
0 7-7,00:00-24:00 日曜日はアイテムはチェックされません。
60 1-7,12:00-12:01 アイテムは毎日12:00にチェックされます。これはスケジュールされたチェックの回避策として使用されていましたが、このようなチェックにはスケジューリング間隔を使用することを推奨します。

スケジューリング間隔

スケジューリング間隔は、特定の時刻にアイテムをチェックするために使用されます。 柔軟な間隔はデフォルトのアイテム更新間隔を再定義するために設計されているのに対し、スケジューリング間隔は、並行して実行される独立したチェックのスケジュールを指定するために使用されます。

スケジューリング間隔は次のように定義されます: md<filter>wd<filter>h<filter>m<filter>s<filter> ここで:

  • md - 月の日
  • wd - 曜日
  • h - 時
  • m - 分
  • s – 秒

<filter> は、その接頭辞に対応する値(日、時、分、秒)を指定するために使用され、次のように定義されます: [<from>[-<to>]][/<step>][,<filter>] ここで:

  • <from><to> は一致する値の範囲(両端を含む)を定義します。 <to> が省略された場合、フィルターは <from> - <from> の範囲に一致します。 <from> も省略された場合、フィルターは取り得るすべての値に一致します。
  • <step> は、範囲内で数値をどの間隔で飛ばすかを定義します。 デフォルトでは <step> の値は 1 であり、定義された範囲内のすべての値に一致することを意味します。

フィルター定義は省略可能ですが、少なくとも1つのフィルターを使用する必要があります。 フィルターには、範囲または <step> の値のいずれかが定義されていなければなりません。

空のフィルターは、下位レベルのフィルターが定義されていない場合は '0' に一致し、それ以外の場合は取り得るすべての値に一致します。 たとえば、時フィルターが省略され、分フィルターと秒フィルターも省略されている場合は '0' 時のみに一致します。それ以外では、空の時フィルターはすべての時の値に一致します。

それぞれのフィルター接頭辞に対する有効な <from> および <to> の値は次のとおりです:

Prefix Description <from> <to>
md 月の日 1-31 1-31
wd 曜日 1-7 1-7
h 0-23 0-23
m 0-59 0-59
s 0-59 0-59

<from> の値は <to> の値以下でなければなりません。 <step> の値は 1 以上で、<to> - <from> 以下でなければなりません。

1桁の月の日、時、分、秒の値には、先頭に 0 を付けることができます。 たとえば、md01-31h/02 は有効な間隔ですが、md01-031wd01-07 は無効です。

Zabbix Webインターフェースでは、複数のスケジューリング間隔は別々の行に入力します。 Zabbix API では、それらはセミコロン ; を区切り文字として1つの文字列に連結されます。

ある時刻が複数の間隔に一致する場合でも、実行は1回だけ行われます。 たとえば、wd1h9;h9 は月曜日の午前9時に1回だけ実行されます。

例:

Interval Will be executed
m0-59 毎分
h9-17/2 9:00 から開始して2時間ごと (9:00, 11:00 ...)
m0,30 or m/30 毎時 hh:00 と hh:30
m0,5,10,15,20,25,30,35,40,45,50,55 or m/5 5分ごと
wd1-5h9 毎週月曜日から金曜日の 9:00
wd1-5h9-18 毎週月曜日から金曜日の 9:00,10:00,...,18:00
h9,10,11 or h9-11 毎日 9:00、10:00、11:00
md1h9m30 毎月1日の 9:30
md1wd1h9m30 毎月1日が月曜日の場合の 9:30
h9m/30 毎日 9:00、9:30
h9m0-59/30 毎日 9:00、9:30
h9,10m/30 毎日 9:00、9:30、10:00、10:30
h9-10m30 毎日 9:30、10:30
h9m10-40/30 毎日 9:10、9:40
h9,10m10-40/30 毎日 9:10、9:40、10:10、10:40
h9-10m10-40/30 毎日 9:10、9:40、10:10、10:40
h9m10-40 毎日 9:10、9:11、9:12、... 9:40
h9m10-40/1 毎日 9:10、9:11、9:12、... 9:40
h9-12,15 毎日 9:00、10:00、11:00、12:00、15:00
h9-12,15m0 毎日 9:00、10:00、11:00、12:00、15:00
h9-12,15m0s30 毎日 9:00:30、10:00:30、11:00:30、12:00:30、15:00:30
h9-12s30 毎日 9:00:30、9:01:30、9:02:30 ... 12:58:30、12:59:30
h9m/30;h10 (API-specific syntax) 毎日 9:00、9:30、10:00
h9m/30
h10 (frontend では別の行として追加)
毎日 9:00、9:30、10:00
プロキシとエージェントのタイムゾーンを揃える

Zabbixプロキシおよびエージェントは、スケジューリング間隔を処理する際にそれぞれのローカルタイムゾーンを使用することに注意してください。

このため、スケジューリング間隔がZabbixプロキシによって監視されるアイテム、またはエージェントアクティブのアイテムに適用される場合は、該当するプロキシまたはエージェントのタイムゾーンをZabbixサーバーと同じに設定することを推奨します。そうしないと、queue でアイテムの遅延が誤って報告される可能性があります。

Zabbixプロキシまたはエージェントのタイムゾーンは、systemd のユニットファイルで環境変数 TZ を使用して設定できます。

[Service]
...
Environment="TZ=Europe/Amsterdam"