zabbix系列:(三)zabbix告警配置

admin 2021年01月23日 3,212次浏览

1、告警工作流程

  • 告警概述

    告警是监控的重要职能,是指将达到某一阈值事件的消息发送给用户,让用户在事件发生后即可知道监控指标是否超过规定阈值,从而决定是否采取相关措施处理故障

  • 告警流程

    首先是触发器达到规定阈值,然后action对事件信息进行处理,一方面是给用户发送告警信息,另一方面是执行相关命令,达到对事件故障自动尝试恢复的效果

  • zabbix告警配置步骤

    • 配置trigger(触发器)
    • 配置用户
    • 配置告警方式
    • 配置action(动作)

2、告警触发器(trigger)配置

2.1、trigger的作用

trigger是一组逻辑条件表达式,用于item在其更新周期内所产生的数据与目标阈值是否相同。在zabbix-server首次启动过程中,会将host、template、trigger、items等数据全部加载到内存缓存中,因此zabbix-server进程在收到每个item所产生的数据后,会立即在缓存中查找该item是否配置有trigger表达式,如果配置有,则将trigger表达式的阈值与当前item的数据进行比较,若满足阈值,则判断当前item处于故障(problem)状态;若不满足阈值,则处于正常(OK)状态

2.2、trigger的故障等级定义

trigger故障等级分为 p0 ~ p5 六个等级

  • p0:灾难级别,该级别为重大故障,涉及到核心业务的正常运行
  • p1:危险级别,该级别为危险级别,涉及到应用的正常运行
  • p2:一般级别,对系统有影响,但不涉及致命危险的故障
  • p3:警告级别,可能对系统具有影响的故障
  • p4:信息级别:不影响系统正常运行状态的故障
  • p5:不通知:一般用于测试告警

2.3、trigger配置步骤

trigger配置步骤为:【configuration】 ---> 【hosts】/【templates】 ---> 【triggers】 ---> 【create trigger】

配置trigger

  • 配置参数说明

    • name:触发器名称,支持

    • Operational data:运行数据,运行数据允许定义任意字符串和宏,宏将在 Monitoring ---> Problems 中动态解析为实时数据,虽然触发器名称中的宏将在问题发生时解析为它们的值,并将成为静态问题名称的基础,但操作数据中的宏保持了动态显示最新信息的能力。

    • Severity:触发器的事件级别

      事件级别故障定义故障灯颜色
      Not classified未知等级灰色
      Information一般信息浅蓝
      Warning警告信息黄色
      Average一般故障橙色
      High高级别故障浅红
      Disaster致命故障红色
    • Expression:定义故障/问题的表达式

    • OK event generation:确认事件生成选项

      • Expression:问题/故障生成表达式
      • Recovery expression:问题/故障恢复表达式
      • None:不恢复到OK状态
    • Recovery expression:故障恢复表达式

    • PROBLEM event generation mode:故障事件产生模式

      • Single:在第一次告警触发后,后续出现的相同告警会做告警聚合,最终只产生一条告警信息
      • Multiple:在第一次告警触发后,后续出现的相同告警不会做告警聚合,会产生多条告警信息
    • OK event closes:是否关闭OK事件

      • All problems:关闭所有问题
      • All problems if tag values match:关闭标签匹配的问题
    • Allow manual close:是否允许手动关闭

    • Tag for matching:输入需要做匹配的标签,仅在“All problems if tag values match”开启时使用

    • URL:如果不为空,则可以在【Monitoring】 ---> 【Problems】中看到该URL选项

    • Enabled:是否启用该trigger

2.4、trigger告警依赖配置

告警依赖,是指一个事件的成立,需要依赖另一个事件,一般用于逻辑比较复杂的业务

2.5、trigger表达式

  • 表达式语法

    {<server>:<key>.<函数>(<参数>)}<操作符><数值>
    
  • 相关选项

    • 函数

      参考官方文档

    • 参数

      • sum(600):对最近600秒内获取到的数值求和
      • sum(#5):对最近获取到的5个数值求和
      • avg、count、last、min、max:支持某个时间段之间的数据获取
    • 操作符

      支持算数运算符和逻辑运算符

  • trigger表达式示例

    判断/etc/passwd文件是否有变化,当文件之前的cksum值与最近的值不同时,则触发告警

    {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff()}=1
    

3、告警处理配置

在trigger和告警表达式配置好后,如果item中匹配到了告警表达式后,系统将触发告警,但是默认情况下,告警信息只是在本地体现,并不会主动对外发送,因此需要配置告警的处理方式

3.1、action功能概述

action的功能主要是对发生的事件根据一定条件,采取相应的措施

action的事件来源有4种:trigger(触发器)、discovery(网络自动发现)、auto registration(agent自动注册)、internal(内部事件)

3.2、action配置步骤

  • 配置步骤

    【configuration】 ---> 【action】 ---> 【create action】 ---> “action”

    配置action

    • Name:action名称

    • Conditions:匹配条件,zabbix支持的匹配条件如下:

      • trigger name
      • trigger
      • trigger severity
      • application
      • host
      • host group
      • problem is suppressed
      • tag name
      • tag value
      • temple
      • time priod

      各匹配条件都支持逻辑运算符

    • enabled:是否启用该action

4、告警处理措施

详细配置,请参考官方文档

4.1、告警处理措施的类型

  • 发送消息:将故障信息通过指定媒体发送出去
  • 执行远程命令:通过脚本处理故障

4.2、配置告警处理措施

【configuration】 ---> 【action】 ---> 【create action】 ---> “Operations”

配置Operations

  • 参数说明

    • Default operation step duration:默认操作步骤间隔时间
    • Pause operations for suppressed problems:暂停对隐藏问题的处理
    • Operations:配置告警措施
    • Recovery operations:恢复告警措施配置
    • Update operations:更新告警措施配置
  • 具体告警措施配置

    Operations(措施细节配置)

    • Operation type:措施类型
      • send message:发送信息
      • remote command:远程执行命令
    • Steps:步骤,一个告警发送多次
    • Step duration:每个步骤间隔时间
    • Send to user groups:接受告警的用户组
    • Send to users:接受告警的用户
    • Send only to:告警发送方式,可以选择一种,也可以选"all",如果用户配置了多种告警接收方式,当配置为”all“时,用户可以以多种方式接收同一个告警
    • Custom message:自定义告警信息
    • Conditions:可以配置用户在确认后不再继续发送信息

5、配置Email告警

  • 配置media类型
    【Administration】 ---> 【Media types】 ---> 【create media types】

    创建media类型

    • Name:media类型名称
    • Type:media类型
    • SMTP server:Email服务器地址
    • SMTP helo:SMTP服务器地址
    • SMTP email:发送邮件的邮箱
  • 在用户管理界面,添加对应的告警方式

    用户列表

    media管理

    配置media