Макросы в Zabbix могут быть удобны для умного использования. Известно что макросы в Zabbix определяются на нескольких уровнях, более локальный перекрывает предыдущий по ниспадающей:
глобальный макрос
{$PROC_NUM} = 200
Его перекрывает макрос уровня шаблона
{$PROC_NUM} = 300
А его перекрывает макрос уровня узла сети
{$PROC_NUM} = 500
Например, можно использовать {$USER_MACROS} в качестве порогового значения для таких элементов данных как загрузка CPU, размер свободной памяти, количества процессов и т.д.
{Template OS: system.cpu.load[percpu,avg1].avg(5m)}>{$CPU_LOAD}
{Template OS: vm.memory.size[available].last(0)}<{$MEMORY_FREE}
{Template OS: proc.num[].avg(5m)}>{$PROC_NUM}
Где макрос уровня шаблона:
{$PROC_NUM} = 300
А макрос уровня узла сети разделить по нагруженности:
- обычный узел сети
{$PROC_NUM} = 300
- сильно нагруженный узел сети
{$PROC_NUM} = 500
- менее загруженный узел сети
{$PROC_NUM} = 200