Zabbix监控web网站
一、zabbix监控web网站
1.概述
1)动态与静态网站
1.静态网站:上传到服务器什么样子,访问时就是什么样子,源代码,html页面
2.动态网站:不一定是服务器上存在的页面,是通过获取数据组成的页面
3.静态网站不支持登录,动态网站支持登录
涉及登录,我们要知道 session 和 cookie
2)session 和 cookie
1.当用户访问服务器时,登陆之后会在服务器上保存一个 sessionid
2.服务器返回数据给浏览器时,会根据sessionid在浏览器上保存一个相应的cookie
3.当用户再次通过浏览器访问,浏览器会拿着cookie与服务器上的sessionid对比
4.如果对比一致,默认你还是登录状态,如果对比不一致,请重新登陆
2.使用curl命令模拟登陆网站
1)curl命令模拟登陆网站
[root@m01 ~]# curl -L -c cookie -b cookie 'http://10.0.0.71/zabbix/index.php'
#-b: cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。
#-c: 操作结束后把cookie写入到这个文件中
2)再次访问时,携带cookie信息,同时使用-d参数携带用户以及密码,模拟登陆
[root@m01 ~]# curl -L -c cookie -b cookie -d 'name=Admin&password=123456&autologin=1&enter=Sign+in' 'http://10.0.0.71/zabbix/index.php'
#-d: 以POST的请方式携带头部信息请求
3)登陆zabbix服务器后,可以使用curl命令获取zabbix队列信息
[root@m01 ~]# curl -L -c cookie -b cookie 'http://10.0.0.61/zabbix/queue.php?config=0'
3.web界面监控实战
我们使用Zabbix Web 监控来监控Zabbix的Web界面。我们想知道它是否可用、是否正常工作以及响应速度。所以我们必须使用用户名和密码登录。
#任何web场景都会收集下列数据:
1.整个场景中所有步骤的平均下载速度
2.失败的步骤数量
3.最近的错误信息
#对于web场景的所有步骤,都会收集下列数据:
1.平均下载速度
2.响应时间
3.HTTP状态码
#官网笔记
https://www.zabbix.com/documentation/4.0/zh/manual/web_monitoring/example
#注意:
Zabbix前端在登录时使用JavaScript重定向,因此首先我们必须登录,只有在下一步的步骤中,我们才能进行检查登录功能。
此外,登录步骤必须使用完整的URL (也就是登陆时需要提交用户名以及密码等) 还要注意我们如何使用正则表达式的变量语法获取{sid}变量(会话 ID)的内容:regex:name="csrf-token" content="([0-9a-z]{16})"
1)创建web场景
针对网页访问及退出整个流程实现方案
这里的sid注意:regex:name="csrf-token" content="([0-9a-z]{16})"如何使用正则表达式的变量语法获取
{sid}
变量(会话 ID)的内容
- 最后点击保存
- 可通过检测查看状态(但是上面的没有问题哦,这里放了一张假图)
2)查看状态
#保存web场景以后
监测 --- web监测
3)给Web监测添加触发器
4)测试告警
#测试网站访问速度响应慢进行触发报警
[root@zabbix-server ~]# ab -n 100000 -c 20 http://10.0.0.71/zabbix/index.php