Zabbix:如何configuration一个触发器来检查过去10分钟内某个特定值是否已经改变?

我已经被赋予了监视某个MySQL服务器数据库中特定值的任务,如果在最后10分钟内没有更改该值,我需要发出通知。

我已经添加到UserParameter_mysql.conf下面一行:

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

当从Zabbix服务器运行检查时,它会正确返回值:

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

下一步是创build一个项目,我已经这样做了,现在我正在尝试configuration触发器。 如果该值在最近10分钟内没有更新,触发器应该会发出通知。 如何configuration触发器来反映这种情况? 谢谢!

编辑#1:这是我刚刚创build的触发器的最新数据: 在这里输入图像说明 我的问题是:

 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? 

你的问题不是100%清楚,所以我已经涵盖了两种可能性:


如果您想检查数据是否不是来自Zabbix代理,请使用无nodatafunction。

返回:
1 – 如果在一段时间内没有收到数据,以秒为单位。 这段时间不应该less于30秒。
0 – 否则

例如,如果10分钟内没有收到数据,触发器将触发:

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

如果要检查值是否未更改,请使用delta

返回一个句点中的最大值和最小值之差('max()'减去'min()')。 周期以秒为单位设置,或者作为第一个参数中收集的值的数量(前面加一个#散列标记)。

例如,如果该值在10分钟内没有改变,则触发该触发器:

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

最后,你可能想要重命名你的项目。 mysql.query是非常通用的,并已被普通的MySQL模板使用。 像aggregator.highest_click_id这样的东西可能更合适。