我想创建一个 zabbix 警报,用于在过去 2 小时内没有报告 运行 时向用户发送电子邮件

I want to create a zabbix alert for sending email to users if no report ran in past 2 hrs

我们在 unix 系统中安装了 zabbix。并且报告连接到 DB2 数据库,其中 zabbix 警报是 setup.Now 我想编写一个查询,当在输出中没有看到任何记录时将调用此警报。

这意味着查询将检查过去 2 小时内是否有任何 运行 和 return 那些 record.If 什么都没有作为输出它会调用警报。

select from_tz(to_timestamp(substr(lastmodifytime,1,19), 'YYYY MM DD HH24 MI 
SS'),'GMT') at time zone 'US/Pacific',
objectid, parentid, typeid, ownerID, LastModifyTime
from BODEV.CMS_INFOOBJECTS7 c
where to_date(substr(lastmodifytime,1,19), 'YYYY MM DD HH24 MI SS') > 
sysdate - 2/60/60/24
order by lastmodifytime desc;

如果您的小数秒有前导零(即 2019 01 22 13 01 18 002 而不是 2019 01 22 13 01 18 2),则 ... where lastmodifytime > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI FF3')

否则使用带有 substr 的行。

select *
from table(values
  to_char(current timestamp - 3 hour, 'YYYY MM DD HH24 MI FF3')
--, to_char(current timestamp - 1 hour, 'YYYY MM DD HH24 MI FF3')
) c (lastmodifytime)
where 
lastmodifytime > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI FF3')
--substr(lastmodifytime, 1, 19) > to_char(current timestamp - 2 hour, 'YYYY MM DD HH24 MI')
fetch first 1 row only
optimize for 1 row
;

取消第 2 行的注释,结果表明过去 2 小时内 运行。