2 Interwały niestandardowe
Przegląd
Możliwe jest tworzenie własnych reguł dotyczących czasu, w którym pozycja jest sprawdzana. Służą do tego dwie metody: Elastyczne interwały, które pozwalają na ponowne zdefiniowanie domyślnego interwału aktualizacji, oraz Harmonogramowanie, dzięki któremu sprawdzenie pozycji może zostać wykonane o określonej godzinie lub w określonej sekwencji czasów.
Elastyczne interwały
Elastyczne interwały pozwalają na ponowne zdefiniowanie domyślnego interwału aktualizacji dla określonych okresów czasu. Elastyczny interwał jest definiowany za pomocą Interwału i Okresu, gdzie:
- Interwał – interwał aktualizacji dla określonego okresu czasu. Obsługiwane są sufiksy czasu, np. 30s, 1m, 2h, 1d.
- Okres – okres czasu, w którym elastyczny interwał jest aktywny (szczegółowy opis formatu Okresu znajduje się w sekcji okresy czasu)
Jeśli wiele elastycznych interwałów nakłada się na siebie, dla nakładającego się okresu używana jest najmniejsza wartość Interwału. Należy pamiętać, że jeśli najmniejsza wartość nakładających się elastycznych interwałów wynosi „0”, odpytywanie nie będzie wykonywane. Poza elastycznymi interwałami używany jest domyślny interwał aktualizacji.
Należy pamiętać, że jeśli elastyczny interwał jest równy długości okresu, pozycja zostanie sprawdzona dokładnie raz. Jeśli elastyczny interwał jest większy niż okres, pozycja może zostać sprawdzona raz albo może nie zostać sprawdzona wcale (dlatego taka konfiguracja nie jest zalecana). Jeśli elastyczny interwał jest mniejszy niż okres, pozycja zostanie sprawdzona co najmniej raz.
Jeśli elastyczny interwał jest ustawiony na „0”, pozycja nie jest odpytywana w czasie trwania okresu elastycznego interwału i wznawia odpytywanie zgodnie z domyślnym Interwałem aktualizacji po zakończeniu tego okresu. Przykłady:
| Interval | Period | Opis |
|---|---|---|
| 10 | 1-5,09:00-18:00 | Pozycja będzie sprawdzana co 10 sekund w godzinach pracy. |
| 0 | 1-7,00:00-7:00 | Pozycja nie będzie sprawdzana w nocy. |
| 0 | 7-7,00:00-24:00 | Pozycja nie będzie sprawdzana w niedziele. |
| 60 | 1-7,12:00-12:01 | Pozycja będzie sprawdzana codziennie o 12:00. Należy pamiętać, że było to używane jako obejście dla zaplanowanych kontroli i zaleca się używanie interwałów harmonogramu dla takich kontroli. |
Interwały harmonogramu
Interwały harmonogramu są używane do sprawdzania pozycji o określonych porach. Podczas gdy elastyczne interwały służą do redefiniowania domyślnego interwału aktualizacji pozycji, interwały harmonogramu są używane do określenia niezależnego harmonogramu sprawdzania, który jest wykonywany równolegle.
Interwał harmonogramu jest definiowany jako: md<filter>wd<filter>h<filter>m<filter>s<filter>, gdzie:
- md - dni miesiąca
- wd - dni tygodnia
- h - godziny
- m - minuty
- s – sekundy
<filter> służy do określania wartości dla swojego prefiksu (dni, godziny, minuty, sekundy) i jest definiowany jako: [<from>[-<to>]][/<step>][,<filter>], gdzie:
<from>i<to>definiują zakres pasujących wartości (włącznie). Jeśli<to>zostanie pominięte, filtr dopasowuje zakres<from> - <from>. Jeśli<from>również zostanie pominięte, filtr dopasowuje wszystkie możliwe wartości.<step>definiuje krok przeskakiwania wartości liczbowych w obrębie zakresu. Domyślnie<step>ma wartość 1, co oznacza, że dopasowywane są wszystkie wartości zdefiniowanego zakresu.
Chociaż definicje filtrów są opcjonalne, musi zostać użyty co najmniej jeden filtr. Filtr musi mieć zdefiniowany albo zakres, albo wartość <step>.
Pusty filtr dopasowuje albo „0”, jeśli nie zdefiniowano filtra niższego poziomu, albo wszystkie możliwe wartości w przeciwnym razie. Na przykład, jeśli filtr godzin zostanie pominięty, dopasowana zostanie tylko godzina „0”, pod warunkiem że filtry minut i sekund również są pominięte; w przeciwnym razie pusty filtr godzin dopasuje wszystkie wartości godzin.
Prawidłowe wartości <from> i <to> dla odpowiednich prefiksów filtrów to:
| Prefix | Opis | <from> | <to> |
|---|---|---|---|
| md | Dni miesiąca | 1-31 | 1-31 |
| wd | Dni tygodnia | 1-7 | 1-7 |
| h | Godziny | 0-23 | 0-23 |
| m | Minuty | 0-59 | 0-59 |
| s | Sekundy | 0-59 | 0-59 |
Wartość <from> musi być mniejsza lub równa wartości <to>.
Wartość <step> musi być większa lub równa 1 oraz mniejsza lub równa <to> - <from>.
Jednocyfrowe wartości dni miesiąca, godzin, minut i sekund mogą być poprzedzone zerem.
Na przykład md01-31 i h/02 są prawidłowymi interwałami, ale md01-031 i wd01-07 już nie.
W Zabbix frontend wiele interwałów harmonogramu wprowadza się w osobnych wierszach.
W Zabbix API są one łączone w jeden ciąg znaków z separatorem w postaci średnika ;.
Jeśli dany czas pasuje do kilku interwałów, zostanie wykonany tylko raz.
Na przykład wd1h9;h9 zostanie wykonane tylko raz w poniedziałek o 9:00.
Przykłady:
| Interwał | Zostanie wykonany |
|---|---|
| m0-59 | co minutę |
| h9-17/2 | co 2 godziny, zaczynając od 9:00 (9:00, 11:00 ...) |
| m0,30 or m/30 | co godzinę o hh:00 i hh:30 |
| m0,5,10,15,20,25,30,35,40,45,50,55 or m/5 | co pięć minut |
| wd1-5h9 | od poniedziałku do piątku o 9:00 |
| wd1-5h9-18 | od poniedziałku do piątku o 9:00,10:00,...,18:00 |
| h9,10,11 or h9-11 | codziennie o 9:00, 10:00 i 11:00 |
| md1h9m30 | każdego 1. dnia miesiąca o 9:30 |
| md1wd1h9m30 | każdego 1. dnia miesiąca o 9:30, jeśli jest to poniedziałek |
| h9m/30 | codziennie o 9:00, 9:30 |
| h9m0-59/30 | codziennie o 9:00, 9:30 |
| h9,10m/30 | codziennie o 9:00, 9:30, 10:00, 10:30 |
| h9-10m30 | codziennie o 9:30, 10:30 |
| h9m10-40/30 | codziennie o 9:10, 9:40 |
| h9,10m10-40/30 | codziennie o 9:10, 9:40, 10:10, 10:40 |
| h9-10m10-40/30 | codziennie o 9:10, 9:40, 10:10, 10:40 |
| h9m10-40 | codziennie o 9:10, 9:11, 9:12, ... 9:40 |
| h9m10-40/1 | codziennie o 9:10, 9:11, 9:12, ... 9:40 |
| h9-12,15 | codziennie o 9:00, 10:00, 11:00, 12:00, 15:00 |
| h9-12,15m0 | codziennie o 9:00, 10:00, 11:00, 12:00, 15:00 |
| h9-12,15m0s30 | codziennie o 9:00:30, 10:00:30, 11:00:30, 12:00:30, 15:00:30 |
| h9-12s30 | codziennie o 9:00:30, 9:01:30, 9:02:30 ... 12:58:30, 12:59:30 |
| h9m/30;h10 (składnia specyficzna dla API) | codziennie o 9:00, 9:30, 10:00 |
| h9m/30 h10 (dodaj to jako kolejny wiersz w frontend) |
codziennie o 9:00, 9:30, 10:00 |
Wyrównanie stref czasowych dla proxy i agent
Należy pamiętać, że proxy i agent Zabbix używają swoich lokalnych stref czasowych podczas przetwarzania interwałów harmonogramu.
Z tego powodu, gdy interwały harmonogramu są stosowane do pozycji monitorowanych przez proxy Zabbix lub aktywnych pozycji agent, zaleca się ustawienie strefy czasowej odpowiednich proxy lub agent na taką samą jak na serwerze Zabbix, w przeciwnym razie kolejka może nieprawidłowo zgłaszać opóźnienia pozycji.
Strefę czasową dla proxy Zabbix lub agent można ustawić za pomocą zmiennej środowiskowej TZ w pliku jednostki systemd:
[Service]
...
Environment="TZ=Europe/Amsterdam"