博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix 添加WEB监控(学习笔记十一)
阅读量:7209 次
发布时间:2019-06-29

本文共 2134 字,大约阅读时间需要 7 分钟。

转载: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,即可看到触发的报警,当报警后,我们可以对目标机器进行操作,报警、触发重新启动脚本等,详见:

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天,老数据将被清除

你可能感兴趣的文章
WCF 可靠会话
查看>>
vim+makefile入门编辑,编译,差错实例
查看>>
Python之基础练习题
查看>>
AC日记——回文子串 openjudge 1.7 34
查看>>
易买网总结
查看>>
C#导入Excel报错问题。
查看>>
网站前端性能优化
查看>>
课后作业
查看>>
C#反射学习
查看>>
实验二 直线DDA生成算法的GDI实现
查看>>
迭代器与泛型for
查看>>
在idea中用tomcat远程部署调试
查看>>
HGE引擎改进
查看>>
存储过程执行失败与sql668n
查看>>
Android面试题3之描写叙述下Android的系统架构
查看>>
2014-7-20 谁还认得这几本书?
查看>>
基于django搭建网站
查看>>
c++ 循环程序的作业,2017年10月10日作业题。
查看>>
从C语言结构对齐重谈变量存放地址与内存分配
查看>>
NSTimer_Block封装定时器的target-action成Block回调
查看>>