Boa tarde pessoal, tudo certo?
Ainda sou iniciante no Zabbix e estou criando meu primeiro template personalizado, cujo intuito é o de monitorar alguns processos em uma VM com RHEL 7 instalado.
Dessa forma eu instalei o Zabbix Agent nessa VM e já consigo me comunicar e recuperar informações a respeito de seus processos e seus respectivos usos de CPU, memória, etc...
Portanto eu comecei a fazer o template, criando primeiramente itens que me informam se os processos que estou monitorando existem, de fato, na VM. Para tanto criei diversos itens (um para cada processo que quero monitorar), seguindo o modelo:
E fiz o mesmo para todos os processos que gostaria de monitorar.
Dessa forma, a chave proc.num[<nome do processo>] retorna 1 se ele existe ou 0, se não existe.
Após criar todos os itens minha ideia seria a de criar um trigger para me alertar, dentre todos eles, quais retornam o valor 0 (ou seja, não existem mais na VM)
Então eu defini minha trigger expression como sendo:
O trigger está funcionando normalmente e me alerta na dashboard de problema se algum desses itens retorna o valor de 0. No entanto eu não consigo saber especificamente qual dos itens retornou o valor zero, pois a única coisa que aparece no dashboard é o nome que eu defino para o trigger. Eu dei uma lida sobre MACROS e vi que alguns deles deveriam funcionar no nome do trigger, trazendo informações relevantes, então eu tentei os seguintes macros para o nome dele:
{ITEM.NAME} {ITEM.VALUE} {TRIGGER.NAME} {ITEM.ID} {ITEM.STATE} , mas apenas o ITEM.VALUE funcionou, retornando o valor do item que acionou o trigger (0).
Os outros macros não funcionam, aparecendo explicitamente o que eu digito no nome do trigger ({ITEM.NAME} , {ITEM.ID}, etc...)
Gostaria de saber se eu estou deixando passar alguma coisa e se existe, de fato, um jeito de configurar o nome do trigger para que ele me informe qual dos itens presentes na sua expressão que está dando problema. Pois criar um trigger pra cada item vai se tornar inviável se o número de processos a serem monitorados aumentar muito...
Valeu pela atenção galera!
Ainda sou iniciante no Zabbix e estou criando meu primeiro template personalizado, cujo intuito é o de monitorar alguns processos em uma VM com RHEL 7 instalado.
Dessa forma eu instalei o Zabbix Agent nessa VM e já consigo me comunicar e recuperar informações a respeito de seus processos e seus respectivos usos de CPU, memória, etc...
Portanto eu comecei a fazer o template, criando primeiramente itens que me informam se os processos que estou monitorando existem, de fato, na VM. Para tanto criei diversos itens (um para cada processo que quero monitorar), seguindo o modelo:
Code:
Item name: buls (sendo esse um dos processos que quero monitorar, por exemplo) Type: Zabbix agent Key: proc.num[buls] Type of info: Numeric (unsigned)
Dessa forma, a chave proc.num[<nome do processo>] retorna 1 se ele existe ou 0, se não existe.
Após criar todos os itens minha ideia seria a de criar um trigger para me alertar, dentre todos eles, quais retornam o valor 0 (ou seja, não existem mais na VM)
Então eu defini minha trigger expression como sendo:
Code:
{Custom Template:proc.num[bufi].last()}=0 or
{Custom Template:proc.num[mcs].last()}=0 or
.......
.......
....... e assim por diante até o último processo....
{ITEM.NAME} {ITEM.VALUE} {TRIGGER.NAME} {ITEM.ID} {ITEM.STATE} , mas apenas o ITEM.VALUE funcionou, retornando o valor do item que acionou o trigger (0).
Os outros macros não funcionam, aparecendo explicitamente o que eu digito no nome do trigger ({ITEM.NAME} , {ITEM.ID}, etc...)
Gostaria de saber se eu estou deixando passar alguma coisa e se existe, de fato, um jeito de configurar o nome do trigger para que ele me informe qual dos itens presentes na sua expressão que está dando problema. Pois criar um trigger pra cada item vai se tornar inviável se o número de processos a serem monitorados aumentar muito...
Valeu pela atenção galera!
Comment