7. Символы единиц измерения
Обзор
Использование каких-либо больших чисел, например, «86400» для представления количества секунд в сутках, бывает затруднительно и чревато ошибками. Вот почему вы можете использовать некоторые соответствующие символы единиц измерения (или суффиксы) для упрощения выражений триггеров и ключей элементов данных в Zabbix.
Вместо «86400» вы можете ввести просто «1d». Суффиксов выполняют функцию множителей.
Суффиксы времени
Для указания времени вы можете использовать:
- s — секунды (если используется, то работает так же, как и исходное значение)
- m — минуты
- h — часы
- d — сутки
- w — недели
- M — месяцы (только в функциях динамики изменений)
- y — годы (только в функциях динамики изменений)
Суффиксы времени поддерживают только целые числа (поэтому «1h» поддерживается, а «1,5h» или «1.5h» — нет; используйте вместо этого «90m»).
Суффиксы времени поддерживаются в следующих местах:
- константы и параметры функций выражений триггеров
- константы формул вычисляемых элементов данных
- параметры внутренних элементов данных zabbix[queue,<от>,<до>]
- параметр период времени агрегированных вычислений
- настройка элементов данных (поля «Интервал обновления», «Пользовательские интервалы», «Период хранения истории» и «Период хранения динамики изменений»)
- настройка прототипов элементов данных (поля «Интервал обновления», «Пользовательские интервалы», «Период хранения истории» и «Период хранения динамики изменений»)
- настройка правил низкоуровневого обнаружения (поля «Интервал обновления», «Пользовательские интервалы», «Период сохранения потерянных ресурсов»)
- настройка сетевого обнаружения (поле «Интервал обновления»)
- настройка веб-сценария (поля «Интервал обновления», «Время ожидания»)
- настройка операции действия ( поля «Длительность шага операции по умолчанию», «Длительность шага»)
- настройки профиля пользователя (поля «Авто-выход», «Обновить», «Время отображения сообщения»)
- виджет графика в разделе Мониторинг → Панель (поле «Сдвиг по времени»)
- Администрирование → Общие → Очистка истории (поля периодов хранения)
- Администрирование → Общие → Опции отображения триггеров (поля «Отображать триггеры в состоянии ОК в течение», «Мигание триггеров при изменении состояния»)
- Администрирование → Общие → Другое (поле «Интервал блокировки входа в систему» и поля, относящиеся к взаимодействию с Zabbix сервером)
- опция управления работой
Zabbix сервера
ha_set_failover_delay=задержка
Суффиксы памяти
Суффиксы размера памяти поддерживаются в следующих местах:
- константы и параметры функций выражений триггера
- константы формул вычисляемых элементов данных
Для размера памяти вы можете использовать:
- К — килобайт
- M — мегабайт
- G — гигабайт
- T — терабайт
Суффиксы значений элементов данных
Суффиксы также могут использоваться для отображения числовых значений элементов данных в удобном для восприятия формате.
Чтобы включить это, используйте один из следующих суффиксов в поле Единицы измерения при настройке элемента данных:
- B — байты
- Bps — байты в секунду
- s — секунды, отображаются с использованием до трёх самых больших ненулевых единиц времени
- uptime — прошедшее время в формате «чч:мм:сс» или «N дней, чч:мм:сс»
- unixtime — отметка времени Unix, отформатированная как «гггг.мм.дд чч:мм:сс»
К тому, каким образом эти суффиксы интерпретируются и отображаются, применяются следующие дополнительные правила :
- Для «B» (байты) и «Bps» (байты в секунду) Zabbix использует преобразование с основанием 2 (1K = 1024B), следуя стандарту JEDEC [en].
- Для остальных единиц (таких как Гц, Вт и т. д.) Zabbix использует преобразование по основанию 10 (1K = 1000).
- Для «s» (секунды):
- Формат включает «ггг ммм ддд ччч ммм ссс мс»; отображаются только до трёх самых больших ненулевых единиц времени (например, «1M 10д 4ч»).
- Если единица равна нулю и находится между двумя ненулевыми единицами, она опускается (например, «10д 56м» вместо «10д 0ч 56м»).
При использовании Единиц измерения к значениям элементов данных автоматически применяются следующие суффиксы множителей:
- K, M, G, T — кило, мега, гига, тера
- P, E, Z, Y — пета, экса, зетта, иотта (эти применяются только в веб-интерфейсе)
Примеры использования
При использовании некоторых соответствующих суффиксов вы можете написать выражения триггеров, которые легче понимать и поддерживать, например, такие выражения:
last(/host/system.uptime)<86400s
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
Значения элементов данных также можно преобразовать, например:
1 B → 1 B
1024 B → 1 KB
1536 B → 1.5 KB
881764 B → 881.76 KB
0.0000155 s → 0.016мс
3470400 s → 1М 10д 4ч
2606400 s → 1М 4ч
2592000 s → 1М
2592001 s → 1М
17764 uptime → 04:56:04
86400 uptime → 1 день, 00:00:00
881764 uptime → 10 дней, 04:56:04
32417764 uptime → 375 дней, 04:56:04
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
Предотвращение преобразования единиц измерения
По умолчанию указание единицы измерения для элемента данных приводит к добавлению префикса множителя — например, входящее значение «2048» с единицей измерения «B» будет отображено веб-интерфейсом как «2КB» (для получения более подробной информации смотрите Единицы измерения в настройках элемента данных).
Чтобы предотвратить преобразование единиц измерения, используйте префикс !, например,
!B. Чтобы лучше понять, как работает преобразование с восклицательным знаком и без него, посмотрите следующие примеры значений и единиц измерения:
1024 !B → 1024 B
1024 B → 1 KB
61 !s → 61 s
61 s → 1m 1s
0 !uptime → 0 uptime
0 uptime → 00:00:00
0 !! → 0 !
0 ! → 0
До версии Zabbix 4.0 существовал жёстко закодированный чёрный список единиц
измерения, который состоял из ms, rpm, RPM, %. Этот чёрный список
считается устаревшим, поэтому правильным способом предотвратить преобразование подобных единиц измерения является
!ms, !rpm, !RPM, !%.