我正在寻找一种方法来查找文本值是否在一定的时间内没有改变,如果没有,则抛出一个触发器。 例如,如果我正在从文件中读取值“foo”,并且在8小时内仍然是“foo”,我想触发警报。 但是,我不能使用{app_name:text[item].delta(288000)}=0 。
有没有一种新颖的方式来做到这一点?
编辑:
好的,有人问我们要解决的根本问题,所以这就是我们所得到的。 我们正在Amazon EC2上运行一个基于CloudFormation和Chef的dynamic加/减环境。 有时,厨师客户端因为我们的apt cacher服务器数量不确定而卡住了。 当发生这种情况时,我们的开发环境将停止获得与主厨共同部署的新软件,如果时间太长,我们的“节点哨兵”将会把主机从机器中剔除,因为他们没有检查太久,是不存在的实例。
在每个Chef客户端运行时,将编写一个文件,其中包含实例节点名称的JSON,主厨客户端运行的GUID,运行开始时间和运行停止时间。 我把这些值作为文本进入Zabbix,并正在寻找一种方法,看看它们是否在几个小时内不会改变,因此我可以触发它。
这个JSON看起来像:
{ "node_name": "testnode.domain.local", "run_id": "4aa6c9d6-f97a-494a-9a4f-d72fc69e341b", "start_time": "2015-09-03 16:57:08 +0000", "end_time": "2015-09-03 16:57:47 +0000" }
有用吗? 目前还不清楚? 完全颠覆? 将时间戳转换为序列date并使用它进行比较?