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",进入应用程序创建界面,如图示:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario

 

点击右上角"Create application",弹出创建页面,在Name 输入框中为应用程序设置个名称,这里设置为

"Web Monitor".

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _02

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _03

点击"Save"后,可以看到应用程序列表中出现了新建的应用程序,如图示:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _04

建好应用程序,就可以建立Web scenario了.

 

二、建立Web scenario

 

【Configuration】->【Web】,点击右上角"Create scenario" ,并确保 Host列表中的主机和刚才创建应用程

  序时的主机保持一致,这里也就是 “Zabbix Server”主机.##注意:如果zabbix2.2以上版本,这个选项在每个主机里面的最后面。

 zabbix web scenario 监控Web站点的可用性_zabbix web scenario _05

弹出创建界面,在Scenario选项卡下的Application中,点击右边的"Selcet",选中刚才建立的"Web

Monitor"应用程序,如图示

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _06

然后分别设置好其他信息:

Name : 设置Web scenario名称

Authentication: 设置认证方式, 包含三种,分别是 "None","Basic Authenticatioon","NTLM Authenticatioon".

Updata interval: 设置场景被执行的时间间隔

Agent: 设置client agent,Web scenario将会伪装成此处设置的agent浏览器类型.

Variables: 在Steps中用到的变量列表,这里定义宏,后面设置Steps时方便调用.这里我定义了两个宏,分

                  别为用户名和密码,待会模拟登录时会调用。

设置完毕后如下图:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _07

 

切换到"Steps"选项卡,开始定义“Step”:

 

 点击"Add",弹出增加step界面:zabbix web scenario 监控Web站点的可用性_zabbix web scenario _08

Step 设置界面:

Name: 设置Step名称

URL: 要被监控网站的URL

Post: Http post 变量

TimeOut:处理URL的最大时间值,Zabbix不会使用超过2倍该值的时间去处理URL

Required string: 这里可以设置请求的表达式,也可以是正则表达式

Required status codes: Http请求返回状态值.取值为200,201,210-299.

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _09

我们先设置第一步,监控访问首页的速度等性能.如下图:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _10

第二步我们模拟登陆,监控模拟登陆的响应时间:

在设置模拟登陆之前,我们首先要查看一下待监控网站的源代码,以便获取Post账号密码信息的id:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _11

根据获取的ID,设置如下:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _12

第三步,设置登陆检查,获取只有在登录后的页面中才有的字符串,以便测试是否登录成功:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _13

第四步,模拟登出,否则OA系统数据库每隔前面设置的间隔就会有链接回话,数据库会增加大量的会话.

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _14

 

三、检查Web scenario监控数据:

 

Zabbix Web管理控制台,【Monitoring】->【Web】,打开如下界面

 zabbix web scenario 监控Web站点的可用性_zabbix web scenario _15

点击“Kaoqin Monitor”,打开监控数据页面,如下所示:

 

 该图显示没步骤的响应速度、时间、响应代码和状态的详细情况:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _16

 

速度图:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _17

响应时间图:

zabbix web scenario 监控Web站点的可用性_zabbix web scenario _18

 

从图中,可以清晰的分析当前的网络与Web站点的连接访问性能情况。

另外,还可以对 Web scenario 设置trigger,当出现异常时及时发出警告。

本文暂不介绍如何对Web scenario建立trigger,改天单独写文章介绍。

 

Zabbix的Web Scenario Monitor 功能在电商行业的应用还是很广泛的,因为电商行业很关注终端用户对电

商网站的访问体验的。用此功能作为技术手段评估站点对于改善用户体验还是很有益处的。