Zabbix也可以监控Web站点的可用性。前提是安装Zabbix时启用了libcurl支持.
要使用Web监控,首先需要定义Web Scenario。而每个Web Scenario有一个或者多个
"Http 请求"或者 "Steps"构成。Zabbix根据定义的顺序定期的执行步骤。
在一个Web Scenario中,搜集到的信息包含一下几种:
1. 整个web场景所有步骤的平均下载速度(每秒)
2. 执行出错的步骤(steps)编号
3. 最近的错误信息
而在每一个步骤中又搜集一下信息:
1. 平均下载速度(每秒)
2. 响应时间
3. 响应返回码
下面以一个具体实例来看看如何配置一个 Web Monitor Scenario.本文以现有的考勤系统
站点为例.
一、创建一个application
Web Scenario必须链接到application,因此创建Web Scenario之前,需要创建一个application.
进入 Zabbix Web 管理控制台->【Configuration】->Hosts,选择某台主机,这里选择"Zabbix Server"这台
主机,点击"Applicaitons",进入应用程序创建界面,如图示:
点击右上角"Create application",弹出创建页面,在Name 输入框中为应用程序设置个名称,这里设置为
"Web Monitor".
点击"Save"后,可以看到应用程序列表中出现了新建的应用程序,如图示:
建好应用程序,就可以建立Web scenario了.
二、建立Web scenario
【Configuration】->【Web】,点击右上角"Create scenario" ,并确保 Host列表中的主机和刚才创建应用程
序时的主机保持一致,这里也就是 “Zabbix Server”主机.##注意:如果zabbix2.2以上版本,这个选项在每个主机里面的最后面。
弹出创建界面,在Scenario选项卡下的Application中,点击右边的"Selcet",选中刚才建立的"Web
Monitor"应用程序,如图示
然后分别设置好其他信息:
Name : 设置Web scenario名称
Authentication: 设置认证方式, 包含三种,分别是 "None","Basic Authenticatioon","NTLM Authenticatioon".
Updata interval: 设置场景被执行的时间间隔
Agent: 设置client agent,Web scenario将会伪装成此处设置的agent浏览器类型.
Variables: 在Steps中用到的变量列表,这里定义宏,后面设置Steps时方便调用.这里我定义了两个宏,分
别为用户名和密码,待会模拟登录时会调用。
设置完毕后如下图:
切换到"Steps"选项卡,开始定义“Step”:
点击"Add",弹出增加step界面:
Step 设置界面:
Name: 设置Step名称
URL: 要被监控网站的URL
Post: Http post 变量
TimeOut:处理URL的最大时间值,Zabbix不会使用超过2倍该值的时间去处理URL
Required string: 这里可以设置请求的表达式,也可以是正则表达式
Required status codes: Http请求返回状态值.取值为200,201,210-299.
我们先设置第一步,监控访问首页的速度等性能.如下图:
第二步我们模拟登陆,监控模拟登陆的响应时间:
在设置模拟登陆之前,我们首先要查看一下待监控网站的源代码,以便获取Post账号密码信息的id:
根据获取的ID,设置如下:
第三步,设置登陆检查,获取只有在登录后的页面中才有的字符串,以便测试是否登录成功:
第四步,模拟登出,否则OA系统数据库每隔前面设置的间隔就会有链接回话,数据库会增加大量的会话.
三、检查Web scenario监控数据:
Zabbix Web管理控制台,【Monitoring】->【Web】,打开如下界面
点击“Kaoqin Monitor”,打开监控数据页面,如下所示:
该图显示没步骤的响应速度、时间、响应代码和状态的详细情况:
速度图:
响应时间图:
从图中,可以清晰的分析当前的网络与Web站点的连接访问性能情况。
另外,还可以对 Web scenario 设置trigger,当出现异常时及时发出警告。
本文暂不介绍如何对Web scenario建立trigger,改天单独写文章介绍。
Zabbix的Web Scenario Monitor 功能在电商行业的应用还是很广泛的,因为电商行业很关注终端用户对电
商网站的访问体验的。用此功能作为技术手段评估站点对于改善用户体验还是很有益处的。