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 Description
10 1-5,09:00-18:00 Item will be checked every 10 seconds during working hours.
0 1-7,00:00-7:00 Item will not be checked during the night.
0 7-7,00:00-24:00 Item will not be checked on Sundays.
60 1-7,12:00-12:01 Item will be checked at 12:00 every day. Note that this was used as a workaround for scheduled checks and it is recommended to use scheduling intervals for such checks.

スケジューリング間隔

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

スケジューリング間隔は次の形式で定義されます: 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"