前言

  前面我们介绍了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. ES 08 - 创建、查看、修改、删除、关闭Elasticsearch的index

    目录 1 创建index(配置mapping[映射]) 2 查看index 3 修改index 4 删除index 5 打开/关闭index 6 常见问题及解决方法 index相当于RDBMS(关系型 ...

  2. vue-cli项目使用mock数据的方法(借助express)

    前言 现如今前后端分离开发越来越普遍,前端人员写好页面后可以自己模拟一些数据进行代码测试,这样就不必等后端接口,提高了我们开发效率.今天就来分析下前端常用的mock数据的方式是如何实现的. 主体 项目 ...

  3. Docker最全教程——数据库容器化(十)

    终于按时完成第二篇.本来准备着手讲一些实践,但是数据库部分没有讲到,部分实践会存在一些问题,于是就有了此篇以及后续——数据库容器化.本篇将从SQL Server容器化实践开始,并逐步讲解其他数据库的容 ...

  4. KOA中间件的基本运作原理

    示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文目录 华为云社区地址:[你要的前端打怪升级指南] 在中 ...

  5. 从零开始学安全(四十三)●Wireshark分析ICMP(IP)协议

    存活时间与IP分片 这里我们首先来研究一下关于IP协议的两个非常重要的概念:存活时间与IP分片.存活时间(TTL,Time to Live)用于定义数据包的生存周期,也就是在该数据包被丢弃之前,所能够 ...

  6. BestSync多终端文件资料同步利器

    分享一款多终端文件同步的强力软件,windows下使用. 我这里的多终端意思是,多台电脑.移动存储.云端. 就我个人而言,实用性在于移动硬盘和电脑上都有的文件,比如保存项目资料,电脑上需要编辑,有时外 ...

  7. oppo7.0系统手机(亲测有效)激活Xposed框架的流程

    对于喜欢钻研手机的朋友而言,很多时候会使用到xposed框架及种类繁多功能极强的模块,对于5.0以下的系统版本,只要手机能获得root权限,安装和激活xposed框架是异常简单的,但随着系统版本的升级 ...

  8. java或Jmeter实现两个日期相加减(2003-06-01-2003-05-01)

    在beanshell中写入如下代码, import java.io.FileInputStream; SimpleDateFormat myFormatter = new SimpleDateForm ...

  9. centos7新增硬盘

    centos7新增硬盘 步骤:分区---格式化---挂载(配置开机自动挂载) 1.分区 fdisk -l 查看硬盘信息确认新硬盘的名称(以/dev/sdb为例) fdisk /dev/sdb  管理硬 ...

  10. git window安装与注册邮箱用户名

    1.git window版本下载 https://git-scm.com/downlods 下载完后点击安装包安装,一直下一步就行; 2.验证安装是否成功 在开始菜单里找到“Git”->“Git ...