Zabbix 添加WEB监控(学习笔记十一)-阿里云开发者社区

开发者社区> 开发与运维> 正文

Zabbix 添加WEB监控(学习笔记十一)

简介: 转载:http://blog.csdn.net/reblue520/article/details/52312164 通过zabbi做web监控不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警 1、对需要监控的主机添加we...

转载:http://blog.csdn.net/reblue520/article/details/52312164

通过zabbi做web监控不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警

1、对需要监控的主机添加web监控


在configuration—hosts 中打开主机列表,选择需要添加监控主机的web,创建application

img_2ffaa236238f79576d32d15ac0165788.png
img_425ff74afbbc27c5ae6d1dfc6ec3bef8.png

选择web项,再单击右上角的Create web scenario

img_325a3f6717808d04f6e199c81c796af7.png
img_c44d07c6b6e3e87f41164bbb6258ac4c.png

在Name中输入监控的名称,Agent是选择测试站点的浏览器类型

img_ce70cd4efcce2cf20995c3411449da00.png

在Steps选项卡添加测试步骤

Name是测试步骤的名称,URL监控站点的真实url,Required status colder是监控时要求页面返回的状态码,通常设置200

添加完成后可以在monitor—web 看到刚才添加的监控

img_fe397480a05f75f33212adfa17405ce5.png
img_1a61d8941636a8fe1775fbdf58f8ed6d.png

2、报警设置


添加完web监控后再次打开configuration—hosts主机列表,选择Triggers

点击 右上角的create triggers

img_bbfc548c3f9b75d763518cb79e917e3e.png

在Name中输入Triggers的名称

点击 Add

点击Item 上的select

在添加完web 监控后回自动创建相应的Keys,在添加完web 监控后回自动创建相应的Keys,但是要选择已经定义web的相应主机

在Function中 选择相应的表达式,这里是设置返回的状态码不等于变量 N 时触发报警,N的值在下面设置成200

img_a1be1ea4724a310ce00f606bdb271096.png

表达式:如果最近连续4次取到的response_code值不是200,则触发报警

{192.168.3.86:web.test.rspcode[3.86_http_status,3.86_http_status].last(0)}<>200 and {192.168.3.86:web.test.rspcode[3.86_http_status,3.86_http_status].last(1)}<>200 and {192.168.3.86:web.test.rspcode[3.86_http_status,3.86_http_status].last(2)}<>200 and {192.168.3.86:web.test.rspcode[3.86_http_status,3.86_http_status].last(3)}<>200

测试,将目标机器3.86上的index.html改名为index,即可看到触发的报警,当报警后,我们可以对目标机器进行操作,报警、触发重新启动脚本等,详见:

zabbix系列(九)zabbix3.0实现自动触发zabbix-agent端shell脚本任务

http://blog.csdn.net/reblue520/article/details/52315154

img_0b3d43e3516ef20e8c2eb8ad4d24ff5e.png

备注:

img_e72562fc7f8b08e60db7e44e67c46186.png

一旦我们创建好web监控之后,我们便可以查看web站点的性能状况。zabbix一共给我们提供了6个item key,实际上就三个,分别针对单个阶段和整个阶段,三个item分别为web.test.in、web.test.fail、web.test.error,下面看看它的具体用法。

web方案监控项当web监控项创建好之后,下面的key会被自动添加好

key 描述

web.test.in[Scenario,,bps] 整个阶段中的下载速度,单位字节/秒

类型: Numeric(float)

web.test.fail[Scenario] 整个检测阶段,失败的阶段个数,如果所有的阶段(step)都成功,那么返回0

类型: Numeric(unsigned)

web.test.error[Scenario] 返回最后一个错误信息(文本)

web监控项实例创建触发器“Web scenario failed”,表达式如下

{host:web.test.fail[Scenario].last(0)}#0

创建触发器“Web application is slow”,表达式如下

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

备注:Scenario改成你web方案的名称即可

web方案阶段监控项

key 描述

web.test.in[Scenario,Step,bps] 检索指定阶段的下载速度,字节每秒

类型: Numeric(float)

web.test.time[Scenario,Step] 获取指定阶段响应时间,时间计算从开始请求道获取到所有响应信息之后

类型: Numeric(float)

web.test.rspcode[Scenario,Step] 检索指定阶段的http响应代码

类型: Numeric(unsigned)

step item使用实例创建触发器 “Zabbix GUI login is too slow” trigger, 触发器表达式如下

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

说明:ZABBIX GUI是web方案的名称,Login为阶段(step)名称

web监控项数据保留时间web监控历史数据数据保存30天,趋势数据保存90天,老数据将被清除

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章