zabbix系列(八)zabbix添加对web页面url的状态监控

时间:2023-12-31 14:48:02

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

1、对需要监控的主机添加web监控
 
在configuration—hosts 中打开主机列表,选择需要添加监控主机的web,创建application
zabbix系列(八)zabbix添加对web页面url的状态监控
zabbix系列(八)zabbix添加对web页面url的状态监控

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

zabbix系列(八)zabbix添加对web页面url的状态监控

zabbix系列(八)zabbix添加对web页面url的状态监控

在Name中输入监控的名称,Agent是选择测试站点的浏览器类型
zabbix系列(八)zabbix添加对web页面url的状态监控

在Steps选项卡添加测试步骤

Name是测试步骤的名称,URL监控站点的真实url,Required status colder是监控时要求页面返回的状态码,通常设置200
添加完成后可以在monitor—web 看到刚才添加的监控

zabbix系列(八)zabbix添加对web页面url的状态监控

zabbix系列(八)zabbix添加对web页面url的状态监控

2、报警设置
 
添加完web监控后再次打开configuration—hosts主机列表,选择Triggers
点击 右上角的create triggers

zabbix系列(八)zabbix添加对web页面url的状态监控
在Name中输入Triggers的名称
点击 Add

点击Item 上的select

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

在Function中 选择相应的表达式,这里是设置返回的状态码不等于变量 N 时触发报警,N的值在下面设置成200
zabbix系列(八)zabbix添加对web页面url的状态监控

表达式:如果最近连续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

zabbix系列(八)zabbix添加对web页面url的状态监控

备注:
zabbix系列(八)zabbix添加对web页面url的状态监控

一旦我们创建好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天,老数据将被清除