ZABBIX web监控

我使用zabbix的模式是 zabbix agent + zabbix server 的模式。这篇博客的目的就是记录一下,如何配置一个简单的监控项,监控我门服务器的某个指标。

在开始之前要清楚zabbix 主要内容。zabbix 中有 配置主机(host)、监控指标(item)、监控项阀值(trigger)、监控被触发的动作(action)、发送告警的媒介(media type)。

item 是一个监控指标 ,比如说cpu 一分钟的平均值。trigger 是监控项阀值,比如说是cpu 一分钟的平均值>0.5。action 就是当满足trigger 的条件后触发。media type 配置在action 里,也就是触发action 后要做的动作就是media type。

我门就按照这个步骤一步一步来把。
默认按照上一篇博客已经搭建好了zabbix和装好了agent。没装好的请点击http://blog.csdn.net/u012373815/article/details/71598457

由于采用了zabbix的监控模版所以关于 item 的配置这里就不说了。大家可以参考模版的配置。

1. 配置主机

  1. 登录zabbix 选中 ->Configuration -> Hosts -> Create host创建主机
    这里写图片描述
  2. 填写主机信息,主要是名字和 Group 、interfaces 信息
    这里写图片描述
  3. zabbix 中提供一些监控模版,这里我门选择 template OS Linux 的监控模版。
    这里写图片描述
  4. host 添加成功后,会在Host 页面看到如下信息。ZBX 是绿色的说明这个主机已经被监控,注意要记得在被监控的主机上安装zabbix agent 哦。
    这里写图片描述

2. 配置Trigger

  1. 点击主机的“triggers“ 然后选择“create trigger“ 创建 triggers。创建triggers 主要的任务是 写表达式“Expression“ 和定义 trigger的 Severity

这里写图片描述

2.配置表达式,可以自己写也可以通过点击右边的“add“ 按钮进行配置。
通过点击下图中的“Select“按钮可以选择监控的指标(item),图片中选择的是 cpu 5分钟的平均值。配置的阀值是 大于0.02 报警。

注意:Function的判断条件哦。
  • 1
  • 2

这里写图片描述

3. 配置media Type

选择 ->Administration-> Media types -> create Media type
配置如下图。此处配置的是一个脚本媒体类型,

{ALERT.SUBJECT}和{ALERT.MESSAGE}是脚本 xx_zabbix.sh 的两个输入参数,其实也就是告警的信息。脚本的内容可自行编写,比如说将接收到的告警信息存在一个文件里,或者发送给xxx。

xx_zabbix.sh脚本应该放在 zabbix server的 /usr/lib/zabbix/alertscripts目录下,要记得给脚本执行权限哦。

这里写图片描述

email 类型。

这里写图片描述

4. 配置action

  1. 选择 -> Configuration -> Actions -> create Action 界面如下。
    action页面主要是配置 “Conditions“ 也就是 Action触发的条件。可以通过New condition 来选择触发的“Trigger“ 记得选择后点击add 添加哦。
    这里写图片描述
  2. 配置触发后的告警(alert )的信息和告警通知动作。Default subject 是产生 alert的标题,Default message 是产生alert的 信息。
    Operations detatils是产生告警发送邮件的配置。
  3. Recover operations 是告警恢复的配置和Operations 页面的配置相似。
    这里写图片描述

5. zabbix 添加web 监控

zabbix 配置一个web 监控,也就是应用监控。

  1. 选择 -> Configuration -> Hosts -> web
    这里写图片描述
  2. 选择Create web scenario 创建web 监控
    这里写图片描述
  3. 配置监控的信息:Name 、Agent (就是模拟什么浏览器去调你的api)
    这里写图片描述
  4. 选择 “Steps“ 添加一个url
    这里写图片描述
  5. 配置url 的地址和名字,如果Header 中有信息,也要填写。Required string 为请求返回的字符串,可以为空。Required status codes 为请求返回的状态码。

    Required string和Required status codes 为判断调用 api 成功与否的条件
    这里写图片描述