(40)zabbix监控web服务器访问性能
zabbix web监控介绍
在host列可以看到web(0),在以前的版本这项是独立出来的,这个主要实现zabbix对web性能的监控,通过它可以了解web站点的可用性以及性能。
最终将各项指标绘制到图形中,这样我们可以了解到一个站点的下载速度、响应速度等。需要注意的是在安装zabbix server需要增加libcurl的支持。
我们只需要配置web监控项,那么zabbix server会定时按照你的规则去执行性能监控。特性下,如果配置都差不多,大家可以先创建模板,然后套用下模板即可
web检测数据搜集说明
web整个检测中会收集如下数据
1. 整个web监控规则中的页面平均下载速度,秒为单位
2. 检测阶段发生的错误次数
3. 最后一个错误消息
web检测的任何一个阶段都会收集如下数据
1. 每秒的下载速度
2. 响应时间
3. 响应代码(http code,如200、301等)
zabbix web监控说明
zabbix可以检测http、https协议,而且zabbix也支持重定向,执行过程中的所有cookies也会被保留。
如果需要的话,zabbix会检索某个页面是否包含特定的字符,如果有表示成功,没有表示失败,例如检测zabbix登陆是否正常,它会检索响应的html页面中是否包含Admin,如果有表示登陆成功。
zabbix web数据保存
每次执行完之后的数据都会保存到zabbix数据中,这些数据可以用户绘制成图表以及用户zabbix触发器和发送报警通知
1 Web 监控项
概述
在创建 Web 场景时,会自动添加一些新监控项以进行监控
注意:这些自动添加的item在主机的item列表中查找不到, 在添加触发器时能够看到
场景监控项
创建场景后,Zabbix 会自动添加以下监控项进行监控,将它们链接到所选应用程序。
| 监控项 | 说明 |
|---|---|
| 场景 <Scenario> 的下载速度 | 此监控项将收集有关整个场景的下载速度(每秒字节数)的信息,即所有步骤的平均值。 监控项 key: web.test.in[Scenario,,bps] #Scenario是创建时指定的名称 类型:Numeric(float) |
| 场景 <Scenario> 的失败步骤 | 此监控项将显示场景上失败的步骤的编号。如果所有步骤成功执行,则返回 0。 监控项 key: web.test.fail[Scenario] 类型:Numeric(unsigned) |
| 场景 <Scenario> 的最后一个错误消息 | 此监控项返回场景的最后一个错误消息文本。仅当场景具有失败步骤时,才会存储新值。如果所有步骤都正常,则不会收集新值。 监控项 key: web.test.error[Scenario] 类型:Character |
使用实际场景名称而不是“Scenario”
这些监控项可用于创建触发器和定义通知条件。
例子 1
要创建“Web 场景失败”触发器,可以定义触发器表达式:
{host:web.test.fail[Scenario].last()}<>0
确保将“Scenario”替换为场景的真实名称
例子 2
要在触发器名称中创建具有有用问题描述的“Web 场景失败”触发器,可以使用名称定义触发器:
Web scenario "Scenario" failed: {ITEM.VALUE}
和触发器表达式:
{host:web.test.error[Scenario].strlen()}>0 and {host:web.test.fail[Scenario].min()}>0
确保将“Scenario”替换为场景的真实名称。
例子 3
要创建“Web application is slow”触发器,可以定义一个触发器表达式:
{host:web.test.in[Scenario,,bps].last()}<10000
确保将“Scenario”替换为场景的真实名称。
场景步骤项
一旦创建步骤,Zabbix 会自动添加以下监控项进行监控,将它们链接到所选应用程序。
| 监控项 | 说明 |
|---|---|
| 场景 <Scenario> 中步骤 <Step> 的下载速度 | 此监控项将收集关于步骤的下载速度(字节每秒)的信息。 监控项 key: web.test.in[Scenario,Step,bps] 类型:Numeric(float) |
| 场景<Scenario>中此步骤<Step>的响应时间 | 此监控项将收集有关步骤的响应时间的信息(以秒为单位)。响应时间从请求开始计时,直到所有信息传输完毕。 监控项 key: web.test.time[Scenario,Step,resp] 类型:Numeric(float) |
| 场景 <Scenario> 的步骤 <Step> 的响应代码 | 此监控项将收集步骤的响应代码。 监控项 key: web.test.rspcode[Scenario,Step] 类型:Numeric(unsigned) |
将分别使用实际场景和步骤名称而不是“Scenario”和“Step”。
这些监控项可用于创建触发器和定义通知条件。例如,要创建一个“Zabbix GUI 登录太慢”触发器,可以定义一个
{zabbix:web.test.time[ZABBIX GUI,Login,resp].last()}>3
怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站、登陆、登陆验证、退出,一共4个小step,看实例。
检测流程
1. 打开网站:如果http code为200,并且响应的html中包含Zabbix SIA表示打开成功(zabbix页面有这个标示)

2. 登陆后台:post用户名和密码到index.php,如果响应200,那表示post成功。并且通过正则表达式从响应的html中匹配sid,这个sid也就是一个宏变量,退出可以使用到
3. 验证登陆:打开首页,检索html中是否包含Profile(只有登陆成功,才会有Profile出现)
4.退出账号:传递参数sid给index.php即可退出,响应200即表示退出成功。
我们可以使用上节讲到的item key来获取每个step的速度以及响应时间或者说最新的一个错误消息,大家自己去研究吧,不难
创建WEB场景
configuration->Host->你的主机->web->右上角Create scenario







检查状态:




(40)zabbix监控web服务器访问性能的更多相关文章
- 自学Zabbix4.1 zabbix监控web服务器访问性能
自学Zabbix4.1 zabbix监控web服务器访问性能 使用Zabbix实现对web性能的监控,通过它可以了解web站点的可用性以及性能.最终将各项指标绘制到图形中,这样我们可以了解到一个站点的 ...
- zabbix 监控web网站性能
一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...
- zabbix监控WEB网站性能
一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...
- android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- Zabbix监控web,MySQL,TCP状态,Nginx
接上篇Zabbix使用SMTP发送邮件报警并且制定报警内容 Zabbix怎么设置声音告警 web监控 在zabbix server选择web 创建一个监控web的场景 添加后这里有数字1 查看 假如在 ...
- zabbix 监控 WEB 应用性能
1.介绍使用 zabbix_sender 发送采集的 WEB 状态值,使用 pycurl 来采集 WEB 状态zabbix_sender发送数据,需保证主机名与zabbix server记录的主机名一 ...
- zabbix监控Linux服务器CPU使用率大于40%的时候报警(实践版)
zabbix自带的模板里面有监控项,所以监控项就不用创建了,直接创建触发器就可以了,触发器细节如下: 名称:CPU使用率大于40% 严重性:严重 表达式:{121.201.54.50:system.c ...
- 脚本监控web服务器,工作不正常发邮件提醒
背景介绍公司有多个web网站,没有配置监控服务,每天都需要定时检查服务器是否工作正常.低效耗时. 代码片段 #!/bin/bash # Author Jerry.huang (Email:Jerry. ...
- zabbix监控windows服务器
Zabbix agent 在windows上安装部署 1. 下载与解压 地址: http://www.zabbix.com/downloads/2.4.0/zabbix_agents_2.4.0.w ...
随机推荐
- [題解](最短路)luogu_P2384最短路
hack: 4 4 1 2 10000 2 3 10000 3 4 10000 1 4 10000 答案:13 不能邊最短路邊取模,因為取模后最大值不一定為原來最大值,所以利用log(m*n)=log ...
- [題解]TYVJ_2032(搜索/最短路)
搜索:https://www.cnblogs.com/SiriusRen/p/6532506.html?tdsourcetag=s_pctim_aiomsg 來自 SiriusRen 數據範圍小,考慮 ...
- djangoForm组件
https://www.cnblogs.com/jabbok/p/9273786.html 在之前学习了html form信息传递到django,然后进行处理,但是这很不方便. django有自己的组 ...
- 8. 字符串转换整数 (atoi)
8. 字符串转换整数 (atoi) 方法一 import re import math class Solution(object): def myAtoi(self, str): "&qu ...
- Technocup 2017 - Elimination Round 1 (Unofficially Open for Everyone, Rated for Div. 2) D
The organizers of a programming contest have decided to present t-shirts to participants. There are ...
- jQuery height() innerHeight() outerHight() width() innerWidth() outerWidth()源码解读
在第二层each,传入的对象以height举例是这样的,{padding:innerHeight,content:height,"":outerHeight} 对它遍历调用func ...
- MDX之Avg函数使用
日均值是比较常见的指标,本文对 MDX 计算日均值做一个总结 MDX 计算日均值,表达式一 WITH MEMBER Measures.[日均值] AS Avg( Descendants( ...
- 【转】Effective C#观后感之提高Unity中C#代码质量的21条准则
转自:http://blog.csdn.net/swj524152416/article/details/75418162 我们知道,在C++领域,作为进阶阅读材料,必看的书是<Effectiv ...
- sgu316Kalevich Strikes Back(线段树+扫描线)
做法:总体想法是求出一个矩形的面积以及它所包含的矩形,然后用自己的面积减掉所包含的.主要问题是怎样求解它所包含的矩形. 因为是没有相交点的,可以利用扫描线的方法去做,类似染色,当前段如果是x色,也就是 ...
- mint-ui pull down不起作用及解决方案
<template> <div style="min-height:200px"> <mt-loadmore :top-method="lo ...