zabbix 网页监控
多条件触发器
#### 检测网页状态码 大于400 或者等于304
[root@web01 ~]# curl -o /dev/null -s -w "%{http_code}" 10.0.0.7:8080
zabbix的网页检测
Web网站中什么是动态网站,什么是静态网站
静态网站:纯静态网站就是服务器的源代码和客户端的源代码一致。
动态网站:比如: 每次用户访问的时候,内容都是在内存中动态生成的。动态网站支持登陆,支持用户交互,所以用户在请求动态网站时,会给客户端下发一个叫sessionID的内容,那么客户端则会将SessionID保存至浏览器的cookie中。
当用户访问Web网站时,session和cookie是如何进行工作的
1) 当用户首次访问动态网站时,是不会携带cookie信息,那么在服务端返回网页的时候,会给该客户端的浏览器分配一个唯一的sessionID,客户端会该sessionID存储至浏览器的Cookie中。
2) 当用户再次访问网站时,浏览器会在Header头信息添加Set-Cookie,Set-Cookie携带的则是该网站对应的sessionID信息,服务端接收后会进行校验
1.使用curl命令模拟登陆zabbix服务器,获取cookie, 将cookie保存至本地cook文件中
[root@web01 ~]# curl -L -c cook -b cook 'http://10.0.0.71'
2.再次访问时,携带cook信息,同时使用-d参数携带用户以及密码,模拟登陆
name=Admin&password=zabbix&autologin=1&enter=Sign+in
[root@m01 ~]# curl -L -c cook -b cook -d 'name=Admin&password=zabbix&autologin=1&enter=Sign+in' 'http://10.0.0.71'
3.点击其他页面测试,是否正常(携带之前保存下来的cookie和session,可以管这个文件叫做Token文件)
[root@web01 ~]# curl -L -c cook -b cook 'http://10.0.0.71/zabbix.php?action=mediatype.list'
zabbix网页配置
# 可以给模板添加web检测 也可以对主机添加
#(模板) 方便 可以以后直接添加到主机中
第一步-检测zabbix网页是否能打开
第二部-登录进zabbix网页(转递变量sid)、
# zabbix3.4版本
regex:name="sid" value="([0-9a-z]{16})"
3.4版本:正常
5.0版本:报错
报错原因:zabbix从4.x版本往上,代码就是前后端分离的
解决方案:
regex:name="csrf-token" content="([0-9a-z]{16})"
再次确认登录是否成功
利用sid测试退出登录
将 模板添加进主机就可以测试了
开始监控