zoukankan      html  css  js  c++  java
  • (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”

    添加的 Web 监控项将保留 30 天历史记录和 90 天趋势记录。
    如果场景名称以双引号开头或包含逗号或方括号,则它将在监控项key中正确引用。在其他情况下,不会执行额外的引用。

    这些监控项可用于创建触发器和定义通知条件。

    例子 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”。

    添加的 Web 监控项将保留 30 天历史记录和 90 天趋势记录。
    如果场景名称以双引号开头或包含逗号或方括号,则它将在监控项键中正确引用。在其他情况下,不会引用

    这些监控项可用于创建触发器和定义通知条件。例如,要创建一个“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

     

      

      

    检查状态:

     

  • 相关阅读:
    Serialize&Deserialize
    Async&Await
    Generic
    Enum
    Array
    String
    Nullable
    Collection
    Class&Struct
    Interface
  • 原文地址:https://www.cnblogs.com/wyzhou/p/10837330.html
Copyright © 2011-2022 走看看