2 監視間隔のカスタマイズ
概要
アイテムがチェックされる時間に関するカスタムルールを作成することができます。 そのための2つの方法は、デフォルトの更新間隔を再定義できるフレキシブル間隔と、アイテムチェックを特定の時刻または一連の時刻に実行できるスケジューリングです。
フレキシブル間隔
フレキシブル間隔を使用すると、特定の時間帯に対してデフォルトの更新間隔を再定義できます。
フレキシブル間隔は、Interval と Period で定義されます。各項目の意味は次のとおりです。
- Interval - 指定した時間帯における更新間隔です。 Time suffixes がサポートされています。例: 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 | 勤務時間中、アイテムは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-31 と h/02 は有効な間隔ですが、md01-031 と wd01-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 (add this as another row in frontend) |
毎日 9:00、9:30、10:00 |
プロキシとエージェントのタイムゾーンの調整
Zabbixプロキシとエージェントは、スケジューリング間隔を処理する際にローカルのタイムゾーンを使用することに注意してください。
このため、Zabbixプロキシまたはアクティブエージェントによって監視されるアイテムにスケジューリング間隔を適用する場合は、キューがアイテムの遅延を正しく報告しない可能性があるため、該当するプロキシまたはエージェントのタイムゾーンをZabbixサーバーと同じに設定することを推奨します。
Zabbixプロキシまたはエージェントのタイムゾーンは、systemdのユニットファイルで環境変数TZを使用して設定できます:
[Service]
...
Environment="TZ=Europe/Amsterdam"