Zabbix: Como faço para configurar um Trigger que irá verificar se um valor específico foi alterado nos últimos 10 minutos?

3

Eu recebi a tarefa de monitorar um valor específico em algum banco de dados do servidor MySQL, eu preciso levantar uma notificação se o valor não foi alterado nos últimos 10 minutos.

Eu adicionei à UserParameter_mysql.conf a seguinte linha:

UserParameter=mysql.query, echo "select id from resolved_clicks order by id desc limit 1" | mysql -N -u zabbix -pPASSWORD aggregator

E ao executar uma verificação no servidor Zabbix, ele retorna o valor corretamente:

[root@zabbix ~]# zabbix_get -s IP -k mysql.query
7957178672
[root@zabbix ~]#

O próximo passo foi criar um Item que eu já fiz e agora estou tentando configurar o Trigger. O gatilho deve surgir uma notificação se o valor não tiver sido atualizado nos últimos 10 minutos. Como posso configurar o gatilho para refletir essa condição? Obrigado!

Editar # 1: Aqui estão os dados mais recentes do gatilho que acabei de criar: Minhas perguntas são:

1. What's the meaning of change? 
2. How can I know from looking on the Change row how many seconds 
   have passed since the last 2 checks?
3. How can I test that the trigger is operating successfully without
   having to reproduce the problem?
    
por Itai Ganot 20.07.2014 / 14:02

1 resposta

2

Sua pergunta não é 100% clara, então eu cobri as duas possibilidades:

Se você quiser verificar se os dados não estão chegando do agente Zabbix, use o nodata função.

Returns:
1 - if no data received during period of time in seconds. The period should not be less than 30 seconds.
0 - otherwise

Por exemplo, um acionador que disparará se nenhum dado for recebido por 10 minutos:

{mysql.query.nodata(600)}=1

Se você quiser verificar se o valor não foi alterado, use delta .

Returns the difference between the maximum and minimum values in a period ('max()' minus 'min()'). The period is set in seconds or as a number of collected values (preceded by a # hash mark) in the first parameter.

Por exemplo, um acionador que será acionado se o valor não for alterado por 10 minutos:

{mysql.query.delta(600)}=0

Finalmente, você provavelmente deseja renomear seu item. mysql.query é muito genérico e já é usado por modelos comuns do MySQL. Algo como aggregator.highest_click_id pode ser mais apropriado.

    
por 20.07.2014 / 14:15