7. Символы единиц измерения
Обзор
Работа с большими значениями, такими как «86400», «104857600» или «1000000», может быть сложной и может приводить к ошибкам. Для упрощения настройки и улучшения читабельности Zabbix поддерживает символы единиц измерения (суффиксы), которые выполняют функцию множителей значений.
Использование суффиксов может упростить, например, настройку выражений триггеров, делая их более простыми для понимания и поддержки.
Выражения триггера без суффиксов:
last(/host/system.uptime)<86400
avg(/host/system.cpu.load,600s)<10
last(/host/vm.memory.size[available])<20971520
Выражения триггера с суффиксами:
last(/host/system.uptime)<1d
avg(/host/system.cpu.load,10m)<10
last(/host/vm.memory.size[available])<20M
Суффиксы также могут упростить настройку других объектов — таких как ключи элементов данных, виджеты и т. д, и помочь отобразить значения элементов данных в удобном для восприятия формате.
Чтобы узнать, поддерживает ли поле конфигурации объекта суффиксы, всегда смотрите соответствующую страницу для настраиваемого оъекта.
Суффиксы времени
Веб-интерфейс Zabbix поддерживает следующие суффиксы времени в конфигурации сущностей:
s - секунды (при использовании работает так же, как и необработанное значение);
m - минуты;
h - часы;
d - дни;
w - недели;
M - месяцы (только для функций трендов);
y - годы (только для функций трендов).
Суффиксы времени поддерживаются только для целых чисел. Например, 1h поддерживается, но 1,5h или 1.5h не поддерживается; вместо этого используйте 90m.
Суффиксы размера памяти
Zabbix поддерживает следующие суффиксы размера памяти:
K - килобайты
M - мегабайты
G - гигабайты
T - терабайты
Суффиксы значений элементов данных
Суффиксы также можно использовать для отображения числовых значений элементов данных в удобочитаемом формате.
Чтобы включить это, используйте один из следующих суффиксов в поле Units при настройке элемента данных:
B - байты;
Bps - байты в секунду;
s - секунды, отображаемые с использованием до трех наибольших ненулевых единиц времени;
uptime - прошедшее время в формате hh:mm:ss или N days, hh:mm:ss;
unixtime - метка времени Unix, формат yyyy.mm.dd hh:mm:ss.
К способу интерпретации и отображения этих суффиксов применяются следующие дополнительные правила:
- Для B и Bps Zabbix использует преобразование по основанию 2 (1K = 1024B) в соответствии со стандартом JEDEC.
- Для других единиц (например, Hz, W и т. д.) Zabbix использует преобразование по основанию 10 (1K = 1000).
- Для s (секунды):
- Формат включает yyy mmm ddd hhh mmm sss ms; отображаются только до трех наибольших ненулевых единиц времени (например, 1M 10d 4h).
- Если единица равна нулю и находится между двумя ненулевыми единицами, она опускается (например, 10d 56m вместо 10d 0h 56m).
При использовании Units к значениям элементов данных автоматически применяются следующие суффиксы-множители:
K, M, G, T - кило, мега, гига, тера;
P, E, Z, Y - пета, экса, зетта, йотта (они применяются только во веб-интерфейсе).
Чтобы предотвратить преобразование единиц, используйте префикс ! (например, !B или !s).
Следующие примеры показывают, как полученные значения элементов данных преобразуются на основе указанных единиц:
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 !
До Zabbix 4.0 существовал жестко заданный список исключений для единиц, состоящий из ms, rpm, RPM, %.
Этот список исключений устарел, поэтому правильный способ предотвратить преобразование таких единиц — использовать !ms, !rpm, !RPM, !%.