zabbix 网页监控


多条件触发器

#### 检测网页状态码 大于400 或者等于304
[root@web01 ~]# curl -o /dev/null -s -w "%{http_code}" 10.0.0.7:8080

image-20240805143932070

image-20240805143939088

image-20240805143950123

image-20240805144010288

image-20240805144018459

zabbix的网页检测

Web网站中什么是动态网站,什么是静态网站

静态网站:纯静态网站就是服务器的源代码和客户端的源代码一致。
动态网站:比如: 每次用户访问的时候,内容都是在内存中动态生成的。动态网站支持登陆,支持用户交互,所以用户在请求动态网站时,会给客户端下发一个叫sessionID的内容,那么客户端则会将SessionID保存至浏览器的cookie中。
当用户访问Web网站时,session和cookie是如何进行工作的
1) 当用户首次访问动态网站时,是不会携带cookie信息,那么在服务端返回网页的时候,会给该客户端的浏览器分配一个唯一的sessionID,客户端会该sessionID存储至浏览器的Cookie中。
2) 当用户再次访问网站时,浏览器会在Header头信息添加Set-Cookie,Set-Cookie携带的则是该网站对应的sessionID信息,服务端接收后会进行校验

image-20240805144155740

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检测   也可以对主机添加 
#(模板) 方便 可以以后直接添加到主机中

image-20240805144430980

image-20240805144524650

image-20240805144731683

第一步-检测zabbix网页是否能打开

image-20240805144819750

第二部-登录进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})"

image-20240805145319932

再次确认登录是否成功

image-20240805145519114

利用sid测试退出登录

image-20240805150012520

image-20240805145726273

将 模板添加进主机就可以测试了

开始监控

image-20240805150102093