При помощи вычисляемых элементов данных вы можете выполнять подсчеты на основании других элементов данных.
Таким образом, вычисляемые элементы данных являются одним из способов создания виртуальных источников данных. Значения будут периодически вычисляться на основе арифметического выражения. Все вычисления выполняются Zabbix сервером - Zabbix агенты и прокси не участвуют в подсчете вычисляемых элементов данных и не имеют никаких данных для этого.
Полученные данные записываются в базу данных Zabbix, как и для любого другого элемента данных - это означает хранение значений истории и динамики изменений для быстрой генерации графиков. Созданные элементы данных можно использовать в выражениях триггеров, сослаться макросами или другими объектами, также как и на любой другой тип элементов данных.
Для использования вычисляемых элементов данных, выберите тип элемента данных Вычисляемое.
Ключ уникальный идентификатор элемента данных (в пределах узла сети). Вы можете создать любое имя ключа использовав поддерживаемые символы.
Формула расчета необходимо ввести в поле Формула (называлось 'Выражение' в 1.8.1 и в 1.8.2). Не существует практически никакой связи между формулой и ключем. В любом случае параметры ключа не используются в формуле.
Корректный синтаксис простой формулы:
Где:
АРГУМЕНТ | ОПРЕДЕЛЕНИЕ |
---|---|
функция | Одна из функций поддерживаемых в выражениях триггеров: last, min, max, avg, count и остальные |
ключ | Ключ другого элемента данных, данные которого вы хотите использовать. Его можно задать как ключ или узел сети:ключ. Обратите внимание: Настоятельно рекомендуется заключать весь ключ в двойные кавычки ("..."), во избежании неправильного разбора из-за пробелов или запятых в ключе. Также если в ключе имеются параметры заключенные в кавычки, то двойные кавычки должны быть экранированы с помощью обратной косой чертой (\). Смотрите ниже Пример 5. |
параметр(ы) | Параметр(ы) функций, если требуются. |
Все элементы данных, на которые ссылается формула вычисляемого элемента данных, должны существовать и собирать данные. Также, если вы измените ключ элемента данных на который ссылается элемент данных, то вы должны вручную обновить все формулы в которых используется этот ключ.
Пользовательские макросы в формуле будут раскрыты, если используется ссылка на параметр функции или константу. Пользовательские макросы НЕ будут раскрыты, если используется ссылка на функцию, имя узла сети, параметры ключей элементов данных или оператор.
Для более сложной формулы можно использовать комбинацию функций, операторов и скобок. Вы можете использовать все функции и операторы, которые поддерживаются в выражениях триггеров. Обратите внимание, что синтаксис немного отличается, однако логика и приоритет операций в точности такой же.
В отличии от выражений триггеров, Zabbix обрабатывает вычисляемые элементы данных в соответствии со временем обновления элемента данных, а не при получении нового значения.
Если результатом вычисления будет число с плавающей точкой, оно будет обрезано до целого числа, в случае если типом информации элемента данных указан Числовой (целое положительное).
Вычисляемый элемент данных может перейти в неподдерживаемое состояние в нескольких случаях:
Поддержка вычисляемых элементов данных была введена в Zabbix 1.8.1
Вычисление процентного отношения свободного места на диске для '/'.
Используйте функцию last:
Zabbix будет брать последние значения полного и свободного объема диска и вычислять процентное отношение в соответствии с данной формулой.
Вычисление 10-минутного усреднения количества значений обрабатываемых Zabbix.
Используйте функцию avg:
Обратите внимание, что интенсивное использование вычисляемых элементов данных с большими периодами времени может повлиять на производительность Zabbix сервера.
Вычисление общей пропускной способности на eth0.
Сумма двух функций:
Вычисление процентного отношения входящего трафика.
Более сложное выражение:
В вычисляемом элементе данных возможно использование агрегированных элементов данных.
Возьмите на заметку, каким образом двойные кавычки экранируются в заключенном кавычками ключе: