7 Symbole jednostek
Przegląd
Praca z dużymi wartościami, takimi jak 86400, 104857600 lub 1000000, może być trudna i prowadzić do błędów. Aby uprościć konfigurację i poprawić czytelność, Zabbix obsługuje symbole jednostek (sufiksy), które działają jako mnożniki wartości.
Wyrażenia wyzwalaczy bez sufiksów:
last(/host/system.uptime)<86400
avg(/host/system.cpu.load,600s)<10
last(/host/vm.memory.size[available])<20971520
Wyrażenia wyzwalaczy z sufiksami:
last(/host/system.uptime)<1d
avg(/host/system.cpu.load,10m)<10
last(/host/vm.memory.size[available])<20M
Sufiksy mogą również uprościć konfigurację innych obiektów, takich jak pozycje, widgety itp., a także pomóc w wyświetlaniu wartości pozycji w formacie czytelnym dla człowieka.
Aby sprawdzić, czy pole konfiguracji danego obiektu obsługuje sufiksy, zawsze należy zajrzeć na odpowiednią stronę dotyczącą konfigurowanego obiektu.
Przyrostki czasu
Frontend Zabbixa obsługuje następujące przyrostki czasu w konfiguracji encji:
s - sekundy (w przypadku użycia działa tak samo jak wartość surowa);
m - minuty;
h - godziny;
d - dni;
w - tygodnie;
M - miesiące (tylko funkcje trendów);
y - lata (tylko funkcje trendów).
Przyrostki czasu są obsługiwane tylko dla liczb całkowitych. Na przykład 1h jest obsługiwane, ale 1,5h lub 1.5h nie jest obsługiwane; zamiast tego użyj 90m.
Przyrostki rozmiaru pamięci
Zabbix obsługuje następujące przyrostki rozmiaru pamięci:
K - kilobajty
M - megabajty
G - gigabajty
T - terabajty
Przyrostki wartości pozycji
Przyrostki mogą być również używane do wyświetlania numerycznych wartości pozycji w czytelnym dla człowieka formacie.
Aby to włączyć, użyj jednego z następujących przyrostków w polu Units podczas konfigurowania pozycji:
B - bajty;
Bps - bajty na sekundę;
s - sekundy, wyświetlane z użyciem maksymalnie trzech największych niezerowych jednostek czasu;
uptime - czas, który upłynął, w formacie hh:mm:ss lub N dni, hh:mm:ss;
unixtime - znacznik czasu Unix, sformatowany jako yyyy.mm.dd hh:mm:ss.
Do interpretacji i wyświetlania tych przyrostków mają zastosowanie następujące dodatkowe reguły:
- Dla B i Bps Zabbix używa konwersji opartej na systemie dwójkowym (1K = 1024B), zgodnie ze standardem JEDEC.
- Dla innych jednostek (takich jak Hz, W itp.) Zabbix używa konwersji dziesiętnej (1K = 1000).
- Dla s (sekund):
- Format obejmuje yyy mmm ddd hhh mmm sss ms; wyświetlane są tylko maksymalnie trzy największe niezerowe jednostki czasu (np. 1M 10d 4h).
- Jeśli jednostka ma wartość zero i znajduje się między dwiema niezerowymi jednostkami, jest pomijana (np. 10d 56m zamiast 10d 0h 56m).
Gdy używane są Units, do wartości pozycji automatycznie stosowane są następujące przyrostki mnożnika:
K, M, G, T - kilo, mega, giga, tera;
P, E, Z, Y - peta, eksa, zetta, yotta (są one stosowane tylko w frontend).
Aby zapobiec konwersji jednostek, użyj prefiksu ! (np. !B lub !s).
Poniższe przykłady pokazują, jak odebrane wartości pozycji są konwertowane na podstawie określonych jednostek:
1 B → 1 B
1024 B → 1 KB
1536 B → 1.5 KB
881764 B → 881.76 KB
881764 !B → 881764 B
0.0000155 s → 0.016ms
3470400 s → 1M 10d 4h
2606400 s → 1M 4h
2592000 s → 1M
2592001 s → 1M
2592001 !s → 2592001 s
17764 uptime → 04:56:04
86400 uptime → 1 day, 00:00:00
881764 uptime → 10 days, 04:56:04
32417764 uptime → 375 days, 04:56:04
32417764 !uptime → 32417764 uptime
881764 unixtime → 1970-01-11 04:56:04 AM
17764 Hz → 17.76 KHz
86400 Hz → 86.4 KHz
881764 Hz → 881.76 KHz
32417764 Hz → 32.42 MHz
0 ! → 0
0 !! → 0 !
Przed Zabbix 4.0 istniała zakodowana na stałe lista wykluczeń jednostek, obejmująca ms, rpm, RPM, %.
Lista ta została wycofana, dlatego poprawnym sposobem zapobiegania konwersji takich jednostek jest !ms, !rpm, !RPM, !%.