深入浅出Zabbix 3.0 -- 第十章 Web 监控

时间:2017-05-26 14:36:50   收藏:0   阅读:6707

第十章 Web 监控

Web monitoring是用来监控Web站点多方面的可用性,可以监控Web站点的下载速度、返回码和响应时间。Zabbix能够检测HTML中包含的预先定义的字符串,也可以模拟登录网站和鼠标的动作,对特定的结果进行比较,例如特定字符串、返回码等,从而判断站点服务的可用性。Zabbix支持HTTPHTTPS协议,并在完成每一步模拟访问时会对cookie进行保存。

Zabbix中设置Web监控时,需要先定义web scenarios(场景),一个webscenarios是由多个HTTP请求(steps)组成,这些steps(步骤)会按照预先定义的顺序执行。和定义监控项一样,web scenarios也可以在主机或模板级别定义。

10.1 Web监控项

Web 监控项主要有两种:Scenario items Scenario step items。这些监控项默认历史保存时间为30天,趋势保存时间为90天。

10.1.1 Scenario items

Web Scenario创建完成后Zabbix会自动添加下面的监控项,并连接它们到已经选中的应用。

Scenario items也可以用来创建触发器和定义通知条件。

例如:

Web scenario "Scenario" failed: {ITEM.VALUE}

触发器表达式可以定义为:

{host:web.test.error[Scenario].strlen()}>0 and{host:web.test.fail[Scenario].min()}>0

{host:web.test.in[Scenario,,bps].last()}<10000

在实际环境中,请把Scenario 替换成你定义的场景的实际名称。

 

10.1.2 Scenario step items

Scenario中每个step创建完成后Zabbix会自动添加下面的监控项,并连接它们到选中的应用。

在创建触发器时也可以使用这些Scenario step item。例如,创建一个ZabbixGUI login is too slow的触发器时,触发器表达式可以定义为:

{zabbix:web.test.time[ZABBIX GUI,Login,resp].last()}>3

10.2使用Variables

配置Web 监控时在Scenariostep级别都可以使用Variables(变量),实际上就是用户自定义的宏变量。在scenario级别定义的变量可以在steps中引用,例如URLPost变量等。在step级别定义的宏变量可以在GETPOST函数中使用,step级别定义的变量可以覆盖scenario级别的变量或上一个step中定义的变量。

变量定义的格式为:

{macro1}=value1

{macro2}=value2

{macro3}=regex:<regular expression>

例如{username}=Alexei{password}=kj3h5kJ34bd{sid}=regex:name="sid"value="([0-9a-z]{16})" 等。如果是以regex开始,那它的后面是一个正则表达式,会在web页面中搜索,如果发现,会将匹配的值保存到变量中。在step中应用macros时,例如{username}{password}{hostid}等,Zabbix会自动替换成实际的值。

在配置变量时,还可以使用Host.* 宏变量和用户自定义的宏变量。需要注意的是变量不能经过URL编码处理。

 

10.3 配置Web监控

Configuration --> Hosts/Templates 页面中,点击需要创建Web 监控的主机或模板中的Web链接,在Web monitoring页面的右上角点击 Createweb scenario按钮,进入Web 监控配置页面。如下图10-1所示。

                             技术分享

10-1

Scenario标签中各配置参数的含义如下:

 

Steps标签配置页面如下图10-2所示。

技术分享

10-2

点击Add弹出step配置页面,如下图10-3所示。

技术分享

10-3

Step配置页面中各参数的含义如下:

 

Authentication标签配置页面如下图10-4所示。

技术分享

10-4

Authentication标签配置页面中各参数的含义如下:

选择BasicNTLM时页面会出现用户名和密码的输入字段,在用户名和密码字段中可以使用宏变量。

 

10.3 添加Web监控实例

通过前面的介绍你已经了解Web scenario的配置,下面我们通过监控Zabbixserver前端页面为例子进一步了解Web监控的实现过程。

10.3.1 创建Web Scenario

1、  点击Configuration --> Hosts,在主机列表中点击Zabbix serverweb链接进入Web monitoring页面。

2、  点击Web monitoring页面右上角的Create webscenario 按钮。

3、  Scenario标签配置页面中的Name中输入名称。例如Zabbix Availability Check

4、  New application字段中输入监控项组名称,创建一个新的监控项组。例如Zabbix web check

5、   保持Update intervalAttempts的默认值,Agent字段中选择Chrome 38.0Windows)。

6、  Variables字段中,填写Zabbix前端默认的用户名和密码:

{user}=Admin

{password}=zabbix

7、  勾选Enabled

         配置完上述参数后,我们还需要在Steps标签中添加step,这时候你要点击Add按钮保存Web Scenario时会看到页面提示Field "Steps" is mandatory。下面我们接着添加step

10.3.2 添加step

Step 1:第一步检测Zabbix前端页面能否正常访问。

1、  Steps标签中点击Add链接。

2、  在弹出页面中的Name中输入名称,例如Zabbix frontend

3、  URL中填写Zabbix前端页面的地址,例如http://192.168.10.112/zabbix/index.php

4、  Required string字段中填写 Zabbix SIA

5、  Required status codes字段中填写 200

6、  点击Add按钮添加step 1到列表中,如下图10-5所示。

技术分享

10-5

Step 2:第二步登录Zabbix,使用在Scenario级别定义的变量{user}{password}

1、  Steps标签中点击Add链接。

2、  在弹出页面中的Name中输入名称,例如Log in

3、  URL中填写Zabbix前端登录页面的地址,例如http://192.168.10.112/zabbix/index.php

4、  Post字段中填写 name={user}&password={password}&enter=Signin

5、  Variables字段中填写 {sid}=regex:name="sid"value="([0-9a-z]{16})" 或者 {sid}=regex:sid=([0-9a-z]{16})

6、  Required status codes字段中填写 200

7、  点击Add按钮添加step 2到列表中,如下图10-6所示。

技术分享

10-6

 

Step 3:第三步检测是否登录成功。

1、  Steps标签中点击Add链接。

2、  在弹出页面中的Name中输入名称,例如Check login

3、  URL中填写Zabbix前端页面的地址,例如http://192.168.10.112/zabbix/index.php

4、  Required string字段中填写Administration

5、  Required status codes字段中填写 200

6、  点击Add按钮添加step 3到列表中,如下图10-7所示。

技术分享

10-7

 

Step 4:第四步从退出Web登录,确保所有的sessions都被关闭。

1、  Steps标签中点击Add链接。

2、  在弹出页面中的Name中输入名称,例如Log out

3、  URL中填写Zabbix前端页面的地址,例如http://192.168.10.112/zabbix/index.php?reconnect=1&sid={sid}

4、  Required status codes字段中填写 200

5、  点击Add按钮添加step 4到列表中,如下图10-8所示。

技术分享

10-8

 

Step 5:第三步检测是否登录成功。

1、  Steps标签中点击Add链接。

2、  在弹出页面中的Name中输入名称,例如Check logout

3、  URL中填写Zabbix前端页面的地址,例如http://192.168.10.112/zabbix/index.php

4、  Required string字段中填写Username

5、  Required status codes字段中填写 200

6、  点击Add按钮添加step 5到列表中,如下图10-9所示。

技术分享

10-9

 

当所有的step添加后,点击Add按钮保存所有的配置。然后到Monitoring --> Latest data页面中浏览items的数据,如下图10-10所示。

技术分享

10-10

Monitoring --> Web页面,可以看到Web监控的列表,如下图10-11所示。

技术分享

10-11

点击Web scenario的名称ZabbixAvailability Check可以看到更详细的内容,除了一个包括SpeedResponse timeResponse codeStatus的表格,还可以看到每个step的图形。如下图10-12所示。

技术分享技术分享

10-12

 

技术分享

本文出自 http://ustogether.blog.51cto.com/8236854/1929728,如需转载请与作者联系。


本文出自 “大白小白一起学” 博客,转载请与作者联系!

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!