前言

  前面我们介绍了zabbix的基本linux和window及SNMP流量的简单监控,我们知道作为运维人员,需要7x24小时待命,但是我们不可能时时刻刻都坐在电脑旁边查看监控上的各个主机状态,所以我们需要配置一个邮件报警,也是邮件报警。

准备工作:

  centos7.4

  zabbix添加linux和windows监控主机,且工作状态正常。

Zabbix服务端

  首先你得安装发送邮件的工具mailx

yum -y install mailx 

  1、配置mail,这个配置文件应该放到/etc/下面,安装完成后它会有个默认的mail.rc文件,备份它后新建一个相同名字的文件,把下面的内容写入就行。

注意:

1、这里新开通的126邮箱,除了需要开通SMTP服务外,还需要开通授权码登录,这里写的不再是登录密码,而是授权码。

2、可能是因为126邮箱的问题,这里确认申请成功后,在别的电脑上尝试登录是否正常。

3、发送邮箱smtp服务器地址,新开的邮箱地址是smtp.126.com。

如果测试中报535错误,请仔细检查以上三条注意事项。

set bsdcompat
set from=发送邮箱账号(这里必须写全了,别忘了@后面)
set smtp=smtp.163.com #发送邮箱smtp服务器地址(必须开启smtp服务)
set smtp-auth-user=发送邮箱账号(这里只需要写全拼就行。不需要@后面字符)
set smtp-auth-password=发送邮箱账号的密码
set smtp-auth=login #登录

  2、测试(我这里是去163邮箱申请账户,开启smtp服务,发送给我的个人邮箱)

echo "test" | mail -s 'test linux'  接收邮件的邮箱地址

  2、编写邮件发送脚本sendmail.sh(内容如下下)

#cd /usr/local/zabbix/share/zabbix/alertscripts/
#chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

  cat sendmail.sh

#!/bin/bash

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1

  3、配置zabbix_server.conf文件,让zabbix执行sendmail这个可执行文件

vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

  4、再次测试

  #su zabbix

  #/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 接收邮件的邮箱地址 "test linux" "test"

  

注意:

切换到zabbix账户测试报警邮件很重要,这里如果提示以下错误,除了要给/tmp/sendmail.log这个文件执行权限外,还需要给属主属组的权限。这里通过不了,后面也是白瞎。

[zabbix@localhost root]$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh leihaidong@gaosiedu.com "test zabbix No1" "test"
/usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh: line 4: /tmp/sendmail.log: Permission denied

Zabbix的web端配置

  1、管理 ----  报警媒介类型 -----  创建媒介类型。

  

  2、创建媒体类型

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

 

  3、管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以),这里你要是选择admin的话,你所有的机器只有有故障就会报警,很烦的,因为有些机器是不用邮件报警的话,就尴尬了,所以我这里不选择admin,我这里是新建一个单独的用户组。

  

  如何实现部分邮件报警呢,首先我们需要创建一个用户群组。

  

  我这里提前创建了一个管理员的组,把管理员加到这个组。

  

  这里需要我们把邮件报警的组都加到这个组里面,被加到这个组里的组,才会报警。

  

  下面我们配置管理员这个用户的邮件报警。

  

  管理员的配置。

  

  我这里是已经创建好的报警媒介。

  

  具体内容如下。

  

  我们看一下会报警的群组。

  

  4、上面我们创建了用户和组,也创建了回报警的哪些群组。下面我们来看看,具体的报警和恢复后的邮件内容配置方法。下面这条是我已经创建好的报警。

  

  我们来看看他的具体写法。首先是名称,添加条件,只需要在触发器名称后面的空白框键入is unreachable for 5 minutes,然后点击添加就行。

  。。。。。。。。。。。。。。。。。。。###########################。。。。。。。。。。。。。。。。。。。。。。。。。。

  注意,注意,注意:

  这个is .....是什么意思呢?就是说只要报警里面出现这几个字母,就会发邮件报警,这里有个坑,就是我icmp邮件报警,因为默认loss是警告,所以它不会显示在仪表盘里面,所以我们需要看图形,这样很麻烦,所以我们需要将icmpping loss这个触发器改成一般严重,这样就会出现在仪表盘里面了,但是,但是,但是,它还是不短信报警,那怎么办呢?我们ping监控一个地址的时候,报警出现在仪表盘里面的话,会提示你Ping loss is too high on这句话,这个时候,我们要将这句话加到动作里面。意思是只要仪表盘里面报这句英文的时候,就会触发邮件(短信)报警。

  

  同理,以后你想让出现哪个报警项,邮件报警的话,就在这里把那个报警信息加到这里就行。

  。。。。。。。。。。。。。。。。。。。###########################。。。。。。。。。。。。。。。。。。。。。。。。。。

  

  

  下面才是最关键的配置,持续时间我们改成60秒,也就是说1分钟报警一次,至于让它一直60秒间隔报警的话,这里可以把步骤改成1-0,0代表如果故障不恢复,就一直报下去。

  

默认接收人  故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

告警主机IP地址:{HOST.CONN}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

  

  

  上面我们只是配置了出现故障时候报警的主题,信息等消息,下面我们看当故障恢复后发给我们的邮件。

默认接收人   恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

告警主机IP地址:{HOST.CONN}
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

  

  报警邮件

  

  恢复邮件:

 

  注意:

    1、我们上面说的邮件报警,但是需要短信报警的话,就简单了,我们申请一个移动139邮箱,然后接收报警邮件地址写成移动139邮箱,这样的话有报警手机也能收到短信。

    2、只有状态时一般严重(含),才会在仪表盘里面显示为橘黄色,一般情况下短信报警设置报警级别为一般严重(含)。

    3、fping需要支持报警级别需要将icmpping loss状态更改为一般严重。

  参考地址:https://www.cnblogs.com/zoulongbin/p/6420239.html

方案二

   

 注意:

  如果你想用某个邮箱给你的邮箱发邮件的话,上面这么搞太费经,比如本文将的用126给我们的139和个人邮箱发报警短信,没问题。如果你想用不想用126或者163(smtp服务器的邮件账户)给你发邮件的话,可以考虑下面的方法。

  1、你不用如上面说的替换原来/etc/mail.rc文件,默认就行。

  2、你不用像第一步那样创建一个"创建媒介类型",直接修改自带的Email这个媒介就行,剩下的方法一样。

  3、需要注意的是你需要给报警这件事儿,创建一个用户组合用户,让它对哪些主机群组有权限,都是在用户群组里面设置。  

centos7之zabbix邮件报警(短信报警)的更多相关文章

  1. zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

  2. server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh

    宕机监控报警程序 一.   需求来源 宕机对运维人员来说,最痛苦了.怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失. ...

  3. zabbix 短信报警

    使用的短信平台是云片网,接口请看官网短信接口API文档,有示例 进入server服务器存放脚本的文件夹,默认路径是 [root@test zabbix]# cat zabbix_server.conf ...

  4. Zabbix 短信报警示例

    Zabbix 短信报警 示例: 注意zabbix 脚本文件默认放置目录是 alertscripts (zabbix 动作调用脚本目录) # 编辑 zabbix_server.conf # AlertS ...

  5. zabbix3配置短信报警

    需求:在zabbix服务器配置短信报警,当服务出现故障达到预警级别是通过发送短信的形式告诉运维人员,以便及时处理. 一.zabbix服务器端配置短信脚本 我的短信脚本放置位置为 /etc/zabbix ...

  6. CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置

    说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统!   说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合 ...

  7. Grafana 短信报警

    一.分析 需求 Grafana支持短信渠道报警 要求 使用开发提供的短信API接口 请求url: http://192.168.1.1:8088/alerting/sendSms?mobile=手机号 ...

  8. Grafana短信报警实现

    1.阿里云短信服务API2.Jenkins-plugin:Generic Webhook Trigger Plugin 阿里云 下载阿里云短信服务SDK 创建短信服务ACCESS_KEY_ID Gra ...

  9. mysubmail 短信报警

    https://www.mysubmail.com/chs/documents/developer/YPWD84   文本文档  官网:www.mysubmail.com 操作流程:快速接入短信 AP ...

随机推荐

  1. 前端笔记之服务器&Ajax(上)服务器&PHP&数据交互&HTTP

    一.服务器 1.1 什么是服务器,做什么的? 服务器,就是放在机房中的电脑,和我们的电脑的区别在与服务器有固定的IP,服务器的安全性和稳定性相当的高;性能一般就可以了,但是CPU的性能要比普通的客户机 ...

  2. Jvm垃圾回收器(终结篇)

    知识回顾: 第一篇<Jvm垃圾回收器(基础篇)>主要讲述了判断对象的生死?两种基础判断对象生死的算法.引用计数法.可达性分析算法,方法区的回收.在第二篇<Jvm垃圾回收器(算法篇)& ...

  3. 搞懂MySQL InnoDB事务ACID实现原理

    前言 说到数据库事务,想到的就是要么都做修改,要么都不做.或者是ACID的概念.其实事务的本质就是锁和并发和重做日志的结合体.那么,这一篇主要讲一下InnoDB中的事务到底是如何实现ACID的. 原子 ...

  4. Jetson Nano Developer Kit

    The Jetson Nano Developer Kit is an AI computer for learning and for making. ​ 一个推理框架,用于部署模型到嵌入式设备. ...

  5. c# 制作正方形图片

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...

  6. PHP制作个人博客-广告位添加与调用 推荐文章数据调取

    上一节博客的导航我们已经动态调取,这一节我们主讲一下如何根据页面布局,后台添加广告位,及模板上动态调取广告.博客推荐文章的数据调用. 首先我们在云码博客的后台添加10条左右的测试数据,thinkcmf ...

  7. Django之随机图形验证码

    实现效果:点击右边图片验证码会变 前端代码: <div class="container"> <div class="row"> < ...

  8. 驰骋开源的asp.net工作流程引擎java工作流 2015 正文 驰骋工作流引擎ccflow6的功能列表

    关键词: 驰骋工作流引擎   ccflow的功能列表   工作流功能列表  表单引擎功能列表 我们工作流引擎ccflow6重构之后对功能做了一些调整,要想快速了解ccbpm的功能,可以以下面列表为准 ...

  9. 使用WordPress制作微信小程序

    0 产品由来 微信小程序具有即来即用.轻量化.与微信贴合性好的特点.对于独立产品来说,使用微信小程序能够较好的服务与个人及现在的互联网社群,提升用户体验. 本次设计的微信小程序是面向无人机开发者社区的 ...

  10. There is already an object named '#xxxx' in the database.

    这个案例是前几天同事遇到的一个案例,在存储过程中"删除"了一个临时表,然后重新创建这个临时表时遇到"There is already an object named 'x ...