zoukankan      html  css  js  c++  java
  • zabbix监控之邮件报警通知

    zabbix官网的操作指南:https://www.zabbix.com/documentation/4.0/zh/manual

    首先我们需要创建一个需要被监控的主机,并设置相应的监控项。当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。

    这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。

    一、新建主机

    Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用。

    Zabbix中,可以通过配置(Configuration) → 主机(Hosts)菜单,查看已配置的主机信息。默认已有一个名为'Zabbix server'的预先定义好的主机。

    点击创建主机(Create host)以添加新的主机:

    至少需要填写下列字段:

    主机名称(Host name)

    • 输入一个主机名称,可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“。

    • 从右边的选择框中,选择一个或者多个组,然后点击 « 移动它们到'所在组(In groups)'选择框。
    所有访问权限都分配到主机组,而不是单独的主机。这也是主机需要属于至少一个组的原因。

    IP地址

    • 输入主机的IP地址。注意如果这是Zabbix server的IP地址,它必须是Zabbix agent配置文件中‘Server’参数的值。

    暂时保持其他选项的默认值。

    当完成后,点击添加(Add)。你可以在主机列表中看到你新添加的主机。

    二、新建监控项(选择模板后可不需要此步骤)

    概要

    监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。

    添加监控项

    主机包含了所有的监控项。如果需要配置一个监控项的示例,我们需要前往配置(Configuration) → 主机(Hosts) 并找到我们已创建的'新主机(New host)'。

    在'新主机(New host)'行中,监控项(Items)的链接旁的数量会显示为'0'。点击这个链接,然后点击创建监控项(Create item),将会显示一个监控项定义表格。

    这里就配置刚才我已经创建的主机,直接点击items即可,然后点击左上角的create item

    对于监控项的示例,需要输入以下必要的信息:

    名称(Name)

    • 输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。

    值(Key)

    • 点击select选择你要监控的内容。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值中的一种。我选择监控我10.220.5.137的80 端口。

    信息类型(Type of information)

    • 在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
    你也需要减少监控项历史保留的天数,7或者14天。对于数据库而言,最佳实践是避免数据库保留过多的历史数据。

    我们暂时保持其他选项的默认值。

    当完成后,点击添加(Add)。新的监控项将出现在监控项列表中。点击列表中的详细(Details)以查看具体细节。

    查看数据

    当一个监控项定义完成后,你可能好奇它具体获得了什么值。前往监控(Monitoring) → 最新数据(Latest data),点击- other -前面的 + ,然后查看你之前定义的监控项和获得的值。

    同时,第一次获得的监控项值最多需要60秒才能到达。默认情况下,这是服务器读取变化后的配置文件,获取并执行新的监控项的频率。

    如果你在‘变化(Change)’列中没有看到值,可能到目前为止只获得了一次值。等待30秒以获得新的监控项值。

    如果你在当前界面中没有看到监控项的信息,请确认:

    • 你输入的监控项'值(Key)' 和 '信息类型(Type of information)' 同截图中的一致
    • agent和server都在运行状态
    • 主机状态为'监控(Monitored)'并且它的可用性图标是绿色的
    • 监控项处于启用状态
    图表

    当监控项运行了一段时间后,可以查看可视化图表。 简单图表 适用于任何被监控的数值型(numeric)监控项,且不需要额外的配置。这些图表会在运行时生成。

    前往监控(Monitoring) → 最新数据(Latest data),然后点击监控项后的'图表(Graph)'链接以查看图表。

    三、新建触发器(选择模板后可不需要此步骤)

    概述

    监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。

    如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。

    添加触发器

    为监控项配置触发器,前往配置(Configuration) → 主机(Hosts),找到'新增主机(New host)',点击旁边的触发器(Triggers) ,然后点击创建触发器(Create trigger)。这将会向我们展现一个触发器定义表单。

    对于触发器,有下列必填项:

    名称(Name)

    • 输入 check_80_triger 作为值。这个值会作为触发器的名称被现实在列表和其他地方。

    表达式(Expression)

    • 输入:{ken1:net.tcp.listen[80].last()}=0

    值时触发器的表达式。确认这个表达式输入正确,包括所有的符号。这个特定的表达式大致是说如果80端口返回值是0时,那么就触发了问题的阈值。

    完成后,点击添加(Add)。新的触发器将会显示在触发器列表中。

    显示触发器状态

    当一个触发器定义完毕后,你可能想查看它的状态。

    前往监控(Monitoring) → 触发器(Triggers)以查看。3分钟后(我们需要等待3分钟以评估这个触发器的3分钟平均值),触发器会在这里显示。应该会有一个绿色的'OK'在'状态(Status)'列中闪烁

    闪烁意味着这个触发器状态最近30分钟内发生过变化。

    如果此处出现一个闪烁的红色'PROBLEM',显然,这说明了80端口已经在你在触发器里定义的阈值级别。

    四、邮件报警

    概述

    当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。

    这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。

    配置zabbix服务端E-mail报警设置

    Zabbix中最初内置了一些预定义的通知发送方式,email通知是其中的一种。

    前往管理(Administration) → 媒体类型(Media types),点击预定义媒体类型列表中的Email,以配置E-mail。

    这将向我们展现e-mail设置定义表单。

    根据你的环境,设置SMTP服务器,SMTP HELO, SMTP e-mail的值。

    'SMTP email'将作为Zabbix通知的'发件人(From)'地址。

    一切就绪后,点击 更新(Update)

    现在你已经配置了'Email'作为一种可用的媒体类型。一个媒体类型必须通过发送地址来关联用户。为了建立一个通知,前往配置(Configuration) → 动作(Actions),然后点击创建动作(Create action)

    在这个表单中,输入这个动作的名称。

    主题:
    Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障! 内容: 告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
    恢复主题:
    恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
    恢复信息:
    告警主机:{HOSTNAME1}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY1}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    {TRIGGER.STATUS} 和 {TRIGGER.NAME} 是宏(macros)或者变量,可以在Default subject 和 Default message 区域查看。会以实际的触发器状态和触发器名称的值替代。

    在大多数简单的例子中,如果我们不添加更多的指定条件,这个动作会在触发器从 'Ok' 变为 'Problem'是发生。

    我们还需要定义这个动作具体做了什么 —— 即在 操作(Operations) 标签页中执行的操作。点击新建(New),将会打开一个操作表单。

    这里,在发送给用户(Send to Users)块中点击添加(Add),然后选择我们之前定义的用户('user')。选择'Email'作为Send only to的值。完成后,在操作明细区域中,点击添加(Add)

    这是一个简单的动作配置步骤,即点击动作表单中的添加(Add)

    如果通知功能没有正常工作:

    • 再次验证e-mail设置和动作设置已经被正确配置
    • 确认你创建的用户对生成事件的主机至少拥有读(read)权限。正如添加用户步骤中提到的,'Zabbix administrators'用户组中的用户必须对'Linux servers'主机组(该主机所属组)至少拥有读(read)权限。
    • 另外,你可以在报告(Reports) → 动作日志(Action log)中检查动作日志。
  • 相关阅读:
    bzoj3505 数三角形 组合计数
    cogs2057 殉国 扩展欧几里得
    cogs333 荒岛野人 扩展欧几里得
    bzoj1123 BLO tarjan求点双连通分量
    poj3352 road construction tarjan求双连通分量
    cogs1804 联合权值 dp
    cogs2478 简单的最近公共祖先 树形dp
    cogs1493 递推关系 矩阵
    cogs2557 天天爱跑步 LCA
    hdu4738 Caocao's Bridge Tarjan求割边
  • 原文地址:https://www.cnblogs.com/renyz/p/11568219.html
Copyright © 2011-2022 走看看