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, !%.