第十章 监控系统-zabbix网站监控WEB
一、Web场景监测概述
1.网站分类概述
#1.Web网站中什么是动态网站,什么是静态网站?
1)静态网站:纯静态网站就是服务器的源代码和客户端的源代码一致。
2)动态网站:比如: <?php phpinfo()?> 每次用户访问的时候,内容都是在内存中动态生成的。动态网站支持登陆,支持用户交互,所以用户在请求动态网站时,会给客户端下发一个叫sessionID的内容,那么客户端则会将SessionID保存至浏览器的cookie中。
2.session和cookie工作原理
#1.当用户访问Web网站时,session和cookie是如何进行工作的
1) 当用户首次访问动态网站时,是不会携带cookie信息,那么在服务端返回网页的时候,会给该客户端的浏览器分配一个唯一的sessionID,客户端会该sessionID存储至浏览器的Cookie中。
2) 当用户再次访问网站时,浏览器会在Header头信息添加Set-Cookie,Set-Cookie携带的则是该网站对应的sessionID信息,服务端接收后会进行校验
3.模拟网站登录
我们可以使用curl命令模拟登陆网站
1.使用curl命令模拟登陆zabbix服务器,获取cookie, 将cookie保存至本地cook文件中
[root@m01 ~]# curl -L -c cook -b cook 'http://10.0.0.61/zabbix/index.php'
#-b: cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。
#-c: 操作结束后把cookie写入到这个文件中
2.再次访问时,携带cook信息,同时使用-d参数携带用户以及密码,模拟登陆
[root@m01 ~]# curl -L -c cook -b cook -d 'name=Admin&password=zabbix&autologin=1&enter=Sign+in' 'http://10.0.0.61/zabbix/index.php'
#-d: 以POST的请方式携带头部信息请求
3.登陆zabbix服务器后,可以使用curl命令获取zabbix队列信息
[root@m01 ~]# curl -L -c cook -b cook 'http://10.0.0.61/zabbix/queue.php?config=0'
二、Web场景监测实战
我们使用Zabbix Web 监控来监控Zabbix的Web界面。我们想知道它是否可用、是否正常工作以及响应速度。所以我们必须使用用户名和密码登录。
1.创建新的Web场景
添加一个场景来监控Zabbix的Web界面。该场景将执行多个步骤。点击配置->主机->选择主机->单击Web监测->创建Web监测
在新的场景中,我们将场景命名为"监控zabbix服务器",并为其创建一个新的应用 (application )。
2.定义场景的步骤
定义场景的步骤->点击步骤->点击添加按钮
Web 场景步骤1,我们首先检查第一页响应是否正确,返回 HTTP 响应代码 200,并包含文本 Zabbix SIA。
Web 场景步骤2,我们继续登录Zabbix前端。
注意,Zabbix 前端在登录时使用JavaScript重定向,因此首先我们必须登录,只有在下一步的步骤中,我们才能进行检查登录功能。此外,登录步骤必须使用完整的URL (也就是登陆时需要提交用户名以及密码等)
还要注意我们如何使用正则表达式的变量语法获取{sid}变量(会话 ID)的内容:regex:name="sid" value="([0-9a-z]{16})"。在步骤4中会使用此变量
Web 场景步骤3,登录后,我们现在应该验证一下是否登陆成功。为此,我们检查一个仅在登录后可见的字符串 - 例如Administration (管理)。
Web 场景步骤 4,现在我们已经验证了前端是可访问的,我们可以登录并检索登录的内容,我们也应该注销,否则 Zabbix 数据库将被大量的开放会话记录所污染。
Web 场景步骤 5,我们可以通过查找 Username 字符串来检查我们是否已经注销了。
完成步骤配置Web 场景步骤的完整配置应如下所示
第3步保存 Web 监控场景。通过以下方式查看场景 检测中 → Web监测