有时需要监控业务系统特定的入口页面及页面的响应速度,节点数少的话还能写个小脚本使用curl处理,数量一多的话就有点力不从心了,而且需要自动报警功能,使用脚本不太容易实现了,特别是处于内网环境,使用zabbix的http模板则很容易解决这类问题,思路也非常简单:脚本(shell/python均可)+zabbix的simple check即能实现
脚本
这里还是使用curl一个网址,得到返回值,一般情况下正常能够访问返回值为200,维护一个WEB.txt,shell脚本从该文件中读取url,需要注意一点的是,这里使用到了zabbix的自动发现功能,所以返回格式严格为json格式,shell脚本如下:
1 | cat web_site_code_status.sh |
WEB.txt的格式如下,一个url对应一行:
1 | http://127.0.0.1/index.html |
把脚本加入crontab每分钟执行一次
1 | */1 * * * * root /usr/local/zabbix/script/web_site_code_status.sh |
觉得shell脚本的格式比较费劲的等方面,也可以使用python,脚本如下:
1 | #!/usr/bin/env python |
修改zabbix_agentd.conf
在客户端的zabbix_agentd.conf中增加自定义的key
1 | UnsafeUserParameters=1 |
在服务器端测试返回值,返回数据如下:
1 | #测试url返回值 |
zabbix前端配置
大家直接看图吧