Zabbix поддерживает некоторое количество макросов, которые могут быть использованы в различных ситуациях. Эффективное использование макросов позволяет сократить время и сделать настройку Zabbix более прозрачной.
В таблице содержится полный список поддерживаемых макросов Zabbix. X обозначает "поддерживается".
Имена элементов данных | Описание | |||||||||
Имена триггеров | ▼▼ | |||||||||
Выражения триггеров | ▼▼ | |||||||||
Подписи на картах1 | ▼▼ | |||||||||
Параметры ключей элементов данных | ▼▼ | |||||||||
GUI скрипты | ▼▼ | |||||||||
Оповещения авторегистрации | ▼▼ | |||||||||
Оповещения обнаружения | ▼▼ | |||||||||
Оповещения и команды | ▼▼ | |||||||||
МАКРОС | ▼▼ | |||||||||
▼▼ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
{DATE} | X | X | X | Текущая дата в формате yyyy.mm.dd. | ||||||
{DISCOVERY.DEVICE.IPADDRESS} | X | IP адрес обнаруженного устройства. Доступно всегда, не зависит от того добавлен узел сети или нет. | ||||||||
{DISCOVERY.DEVICE.STATUS} | X | Состояние обнаруженного устройства: может быть ДОСТУПЕН или НЕДОСТУПЕН. | ||||||||
{DISCOVERY.DEVICE.UPTIME} | X | Время с момента последнего изменения состояния обнаружения для конкретного устройства. Например: 1ч 29м. Для устройств с состоянием НЕДОСТУПЕН этот период указывает время недоступности. |
||||||||
{DISCOVERY.RULE.NAME} | X | Название правила обнаружения, которое обнаружило наличие или отсутствие устройства или сервиса. | ||||||||
{DISCOVERY.SERVICE.NAME} | X | Имя сервиса, которое было обнаружено. Например: HTTP. |
||||||||
{DISCOVERY.SERVICE.PORT} | X | Порт на котором сервис был обнаружен. Например: 80. |
||||||||
{DISCOVERY.SERVICE.STATUS} | X | Состояние сервиса правила обнаружения: может быть ДОСТУПЕН или НЕДОСТУПЕН. | ||||||||
{DISCOVERY.SERVICE.UPTIME} | X | Время с момента последнего изменения состояния обнаружения для конкретного сервиса. Например: 1ч 29м. Для сервисов с состоянием НЕДОСТУПЕН этот период указывает время недоступности. |
||||||||
{ESC.HISTORY} | X | История эскалаций. Журнал предыдущих отправленных сообщений. Отображает предыдущие отправленные оповещения, на котором шаге эскалации они были отправлены и их статус (отправлено, в процессе и ошибка). | ||||||||
{EVENT.ACK.HISTORY} | X | |||||||||
{EVENT.ACK.STATUS} | X | |||||||||
{EVENT.AGE} | X | X | X | Возраст события. Полезно в сообщениях эскалации. | ||||||
{EVENT.DATE} | X | X | X | Дата события. | ||||||
{EVENT.ID} | X | X | X | Код (ID) события, вызвавшего это действие. | ||||||
{EVENT.TIME} | X | X | X | Время события. | ||||||
{HOSTNAME<1-9>} | X | X | X | X | X | Имя узла сети N-го элемента данных из триггера вызвавшего это оповещение. Поддерживается в оповещениях авторегистрации начиная с версии 1.8.4. | ||||
{HOST.CONN<1-9>} | X | X | X | X | IP или DNS имя узла сети, зависимо от его настроек. | |||||
{HOST.DNS<1-9>} | X | X | X | X | DNS имя узла сети. | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
{IPADDRESS<1-9>} | X | X | X | X | IP адрес N-го элемента данных триггера вызвавшего это оповещение. | |||||
{ITEM.ID<1-9>} | X | Числовой ID N-го элемента данных триггера вызвавшего это оповещение. Поддерживается начиная с 1.8.12. | ||||||||
{ITEM.LASTVALUE<1-9>} | X | X | Последнее значение элемента данных N-го элемента данных в выражении триггера вызвавшего это оповещение. Поддерживается начиная с 1.4.3. Это алиас для {{HOSTNAME}:{TRIGGER.KEY}.last(0)} | |||||||
{ITEM.LOG.AGE<1-9>} | X | |||||||||
{ITEM.LOG.DATE<1-9>} | X | |||||||||
{ITEM.LOG.EVENTID<1-9>} | X | |||||||||
{ITEM.LOG.NSEVERITY<1-9>} | X | |||||||||
{ITEM.LOG.SEVERITY<1-9>} | X | |||||||||
{ITEM.LOG.SOURCE<1-9>} | X | |||||||||
{ITEM.LOG.TIME<1-9>} | X | |||||||||
{ITEM.NAME<1-9>} | X | Имя N-го элемента данных в выражении триггера, вызвавшего это оповещение. | ||||||||
{ITEM.VALUE<1-9>} | X | X | Последнее значение N-го элемента данных в выражении триггера, если используется для отображения триггеров. Историческое значение (точно когда произошло событие) N-го элемента данных из выражения триггера, если используется для отображения событий и оповещений. Поддерживается начиная с Zabbix 1.4.3. |
|||||||
{NODE.ID<1-9>} | X | X | X | ID ноды | ||||||
{NODE.NAME<1-9>} | X | X | X | Имя ноды | ||||||
{PROFILE.CONTACT<1-9>} | X | Контакт из профиля узла сети. | ||||||||
{PROFILE.DEVICETYPE<1-9>} | X | Тип устройства из профиля узла сети. | ||||||||
{PROFILE.HARDWARE<1-9>} | X | Аппаратное обеспечение из профиля узла сети. | ||||||||
{PROFILE.LOCATION<1-9>} | X | Размещение устройства из профиля узла сети. | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
{PROFILE.MACADDRESS<1-9>} | X | MAC адрес из профиля узла сети. | ||||||||
{PROFILE.NAME<1-9>} | X | Имя из профиля узла сети. | ||||||||
{PROFILE.NOTES<1-9>} | X | Заметки из профиля узла сети. | ||||||||
{PROFILE.OS<1-9>} | X | ОС из профиля узла сети. | ||||||||
{PROFILE.SERIALNO<1-9>} | X | Серийный номер из профиля узла сети. | ||||||||
{PROFILE.SOFTWARE<1-9>} | X | Программное обеспечение из профиля узла сети. | ||||||||
{PROFILE.TAG<1-9>} | X | Метка из профиля узла сети. | ||||||||
{PROXY.NAME<1-9>} | X | X | X | Имя прокси N-го триггера вызвавшего оповещение. Поддерживается начиная с версии 1.8.4. | ||||||
{STATUS} | X | Алиас для {TRIGGER.STATUS}. | ||||||||
{TIME} | X | X | X | Текущее время в формате чч:мм.сс. | ||||||
{TRIGGER.COMMENT} | X | Комментарий к триггеру. | ||||||||
{TRIGGER.EVENTS.UNACK} | X | X | Количество неподтвержденных событий для элемента на картах сетей или для триггера, вызвавшего текущее событие в уведомлениях. Поддерживается в подписях к элементам карт начиная с версии 1.8.3. | |||||||
{TRIGGER.EVENTS.PROBLEM.UNACK} | X | X | Количество неподтвержденных событий ПРОБЛЕМА для всех триггеров изменивших свое состояние, без учета их состояния. Поддерживается начиная с версии 1.8.3. | |||||||
{TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK} | X | Количество неподтвержденных событий ПРОБЛЕМА для триггеров в состоянии ПРОБЛЕМА. Поддерживается начиная с 1.8.3. | ||||||||
{TRIGGER.EVENTS.ACK} | X | X | Количество подтвержденных событий для элемента на картах сетей, или для триггера вызвавшего текущее событие в уведомлениях. Поддерживается начиная с 1.8.3. | |||||||
{TRIGGER.EVENTS.PROBLEM.ACK} | X | X | Количество подтвержденных событий ПРОБЛЕМА для всех триггеров, без учета их состояния. Поддерживается начиная с 1.8.3. | |||||||
{TRIGGER.PROBLEM.EVENTS.PROBLEM.ACK} | X | Количество подтвержденных событий ПРОБЛЕМА для триггеров в состоянии ПРОБЛЕМА. Поддерживается начиная с 1.8.3. | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
{TRIGGER.EXPRESSION} | X | Выражение триггера. Поддерживается начиная с 1.8.12. | ||||||||
{TRIGGER.ID} | X | Код (ID) триггера вызвавшего это действие. | ||||||||
{TRIGGER.KEY<1-9>} | X | Ключ N-го элемента данных в выражении триггера, вызвавшего это действие. | ||||||||
{TRIGGER.NAME} | X | Имя (описание) триггера. | ||||||||
{TRIGGER.NSEVERITY} | X | Числовое представление важности триггера. Возможные значения: 0 - Не классифицировано, 1 - Информация, 2 - Предупреждение,3 - Средняя, 4 - Высокая, 5 - Чрезвычайная, Поддерживается начиная с Zabbix 1.6.2. | ||||||||
{TRIGGER.SEVERITY} | X | Важность триггера. Возможные значения: Not classified, Information, Warning, Average, High, Disaster, Unknown | ||||||||
{TRIGGER.STATUS} | X | Состояние триггера. Может быть ПРОБЛЕМА или ОК. {STATUS} устарел. | ||||||||
{TRIGGER.URL} | X | URL триггера. | ||||||||
{TRIGGER.VALUE} | X | X | Текущее значение триггера: 0 - если триггер в состоянии ОК, 1 – если триггер в состоянии ПРОБЛЕМА, 2 – если триггер в состоянии НЕИЗВЕСТНО. Этот макрос может быть использован в выражениях триггеров. | |||||||
{TRIGGERS.UNACK} | X | Количество неподтвержденных триггеров для элемента на картах сетей, без учета состояния триггера. Триггер считается не подтвержденным, если хотя бы одно его событие ПРОБЛЕМА не подтверждено. Поддерживается начиная 1.8.3. | ||||||||
{TRIGGERS.PROBLEM.UNACK} | X | Количество неподтвержденных триггеров в состоянии ПРОБЛЕМА для элемента на картах сетей. Поддерживается начиная с версии 1.8.3. | ||||||||
{TRIGGERS.ACK} | X | Количество подтвержденных триггеров для элемента на картах сетей, без учета состояния триггера. Триггер считается не подтвержденным, если все его события ПРОБЛЕМА подтверждены. Поддерживается начиная 1.8.3. | ||||||||
{TRIGGERS.PROBLEM.ACK} | X | Количество подтвержденных триггеров ПРОБЛЕМА для элемента на картах сетей. Триггер считается подтвержденным, если все его события ПРОБЛЕМА подтверждены. Поддерживается начиная с 1.8.3. | ||||||||
{host:key.func(param)} | X | X2 | X | Простой макрос используется в выражении триггера. | ||||||
{$MACRO} | X | X | X | X | Пользовательские макросы. Поддерживается в именах триггеров и в описаниях элементов данных начиная с версии 1.8.4. | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
[1]Макросы для подписей на карте сети поддерживаются начиная с 1.8.
[2]В подписях на карте сети поддерживаются только функции last, avg, max и min с секундами в качестве аргумента.
Макрос {TRIGGER.ID} поддерживается в URL триггера начиная с Zabbix 1.8.8.
Для большей гибкости, Zabbix поддерживает пользовательские макросы, которые могут быть определены на глобальном уровне, на уровне шаблонов и на уровне узлов сети. Эти макросы имеют специальный синтаксис: {$MACRO}. Макросы могут быть использованы в ключах элементов данных и в выражениях триггеров. Начиная с Zabbix версии 1.8.4 пользовательские макросы так же возможно использовать в описаниях элементов данных и в именах триггеров.
Следующие символы допустимы в именах макросов: A-Z , 0-9 , _ , .
Zabbix замещает макросы в соответствии со следующей очередностью:
Иными словами, если макрос не существует для узла сети непосредственно, тогда Zabbix попытается найти его в шаблонах, присоединенных к узлу сети, с учетом уровня глубины шаблонов. Если макрос все еще не найден, тогда будет использоваться макрос глобального уровня, если он существует конечно.
В случае, если Zabbix не удалось найти макрос, макрос не будет заменен на значение.
Для определения пользовательского макроса, перейдите в соответствующие разделы в веб-интерфейсе:
Если пользовательский макрос используется в элементах данных или триггерах шаблона, то предлагается добавить этот макрос к шаблону, даже если он определен на глобальном уровне. Таким образом при экспорте шаблона в XML и импорте его в другую систему элементы данных и триггеры продолжат работать как это и ожидалось.
Наиболее общие случаи использования глобальных макросов и макросов уровня узлов сети:
Использование макроса в ключе элемента данных "Status of SSH daemon":
ssh,{$SSH_PORT}
Использование макроса уровня узла сети в триггере "CPU load is too high":
{ca_001:system.cpu.load[,avg1].last(0)}>{$MAX_CPULOAD}
Если вы хотите использовать количество значений в качестве параметра функции (например, max(#3)), включите символ решетки # непосредственно в значение макроса, например вот так: SOME_PERIOD => #3
Использование двух макросов в триггере "CPU load is too high":
{ca_001:system.cpu.load[,avg1].min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD}
Заметьте, что макрос может быть использован в качестве параметра для функции триггера, в этом примере для функции min().
Пользовательские макросы поддерживаются в строке SNMP OID начиная с Zabbix 1.8.4.