Regex Zabbix-如果网站中存在某个字符串,则触发电子邮件

Regex Zabbix-如果网站中存在某个字符串,则触发电子邮件,regex,monitoring,zabbix,Regex,Monitoring,Zabbix,几周前,我开始使用Zabbix 4.0版,目的是不断监控我公司的网站和应用程序。我很容易地让它监控一些SIT的响应代码和下载时间,甚至检查其中是否存在一些关键字符串。这意味着,在我的web场景的步骤中,我已配置Zabbix在网站上搜索字符串,如果字符串不存在,则触发错误电子邮件 不过,我现在要做的恰恰相反:我必须配置Zabbix以触发网站上存在的字符串 例如:我有一个由Zabbix监控的网站www.myprettyexample.com。如果检测到字符串错误!!在它的HTML中,Zabbix会触

几周前,我开始使用Zabbix 4.0版,目的是不断监控我公司的网站和应用程序。我很容易地让它监控一些SIT的响应代码和下载时间,甚至检查其中是否存在一些关键字符串。这意味着,在我的web场景的步骤中,我已配置Zabbix在网站上搜索字符串,如果字符串不存在,则触发错误电子邮件

不过,我现在要做的恰恰相反:我必须配置Zabbix以触发网站上存在的字符串

例如:我有一个由Zabbix监控的网站www.myprettyexample.com。如果检测到字符串错误!!在它的HTML中,Zabbix会触发我一封电子邮件,以某种方式警告我

那么,这有可能实现吗?怎样如果没有,最好的解决方法是什么?

您可以使用新的

使用以下设置在Zabbix服务器上配置http代理类型的项目:

键:选择一个键名 url:www.myprettyexample.com/somepage.html 方法:获取 检索模式:body 类型:文本 这将捕获整个页面并将其存储保持选中存储!,您可以在“最新数据”页面中检查捕获

然后可以创建一个简单的regexp触发器,如{YourZabbix:YourKey.iregexpError detected}=1


虽然它可以工作,但可能会浪费您的存储空间:如果存在占用空间小的特定状态页,那么更好的方法是捕获json状态页。

就我在这里测试的情况而言,这确实是答案!但是,在我的特定情况下,我需要读取JavaScript在HTML正文中添加的元素。。。而扎比克斯似乎找不到它。当我阅读HTML代码时,所有元素都存在,但我通过正文底部的脚本添加的元素可能在Zabbix阅读HTML时脚本还没有完成执行。你知道解决这个问题的方法吗?Zabbix使用libCurl,所以不能运行javascript。您需要一个运行js代码的外部工具。我找到了这个,但我从未试过。当然,您需要设置不同的项、system.run[]或外部脚本