zabbix之 qq邮件报警
一、安装sendmail或postfix
[root@zabbix ~]# yum install sendmail –y #在线yum安装sendmail
[root@zabbix ~]# service sendmail start #启动sendmail服务
[root@zabbix ~]# chkconfig sendmail on #设置开机启动
CentOS 5.x 默认已经安装好sendmail (这个可以查一下)
CentOS 6.x 默认已经安装好postfix (这个可以查一下)
sendmail和postfix只需要安装一个即可并开启服务即可。
[root@zabbix ~]# /etc/init.d/sendmail status #查看sendmail启动情况
sendmail 已死,但是 subsys 被锁
sm-client (pid 2113) 正在运行... #sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务
[root@zabbix ~]# /etc/init.d/postfix stop #暂停postfix服务
[root@zabbix ~]# chkconfig postfix off #设置postfix开机不启动
[root@zabbix ~]# /etc/init.d/sendmail stop #暂停sendmail服务
[root@zabbix ~]# /etc/init.d/sendmail start #启动sendmail服务
[root@zabbix ~]# /etc/init.d/sendmail status #查看sendmail启动情况
sendmail (pid 2475) 正在运行...
sm-client (pid 2485) 正在运行...
二、安装邮件发送工具mailx
[root@zabbix ~]# yum remove mailx #卸载系统自带的旧版mailx
[root@zabbix ~]# yum install mailx –y #安装
[root@zabbix ~]#mailx -V #查看版本信息
[root@zabbix ~]# whereis mailx #查看安装路径
利用外部的smpt服务器
而通过修改配置文件可以使用外部SMTP服务器,可以达到不使用sendmail而用外部的smtp服务器发送邮件的目的:
[root@zabbix ~]# vim /etc/mail.rc 修改/etc/mail.rc
set from=709885674@qq.com smtp=smtp.qq.com
set smtp-auth-user=709885674@qq.com smtp-auth-password=********
set smtp-auth=login
说明:
from是发送的邮件地址
smtp是发生的外部smtp服务器的地址
smtp-auth-user是外部smtp服务器认证的用户名
smtp-auth-password是外部smtp服务器认证的用户密码,在qq邮箱中设置生成 (邮箱密码使用SMTP授权码)
smtp-auth是邮件认证的方式
配置成功后,就可以使用了
可以发送一封邮件测试一下:
[root@zabbix ~]# mailx -s "mail from linux" 709885674@qq.com < zabbixtest.txt 其中-s后面的是邮件标题,709885674@qq.com是收件人地址,zabbixtest.txt里面是邮件正文(先创建zabbixtest.txt写入内容)
收到邮件如下:
编写邮件发送脚本sendmail.sh
[root@zabbix ~]#cd /usr/local/zabbix/share/zabbix/alertscripts/ #进入zabbix默认存放脚本路径
[root@zabbix alertscripts]# vim 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
[root@zabbix ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#sendmail.sh脚本修改所属用户和用户组
[root@zabbix ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#sendmail脚本赋予执行权限
[root@zabbix ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
-rwxr-xr-x. 1 zabbix zabbix 153 10月 25 15:09 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#查看sendmail.sh脚本权限相关信息
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf #配置zabbix_server.conf配置文件
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
#加入一行sendmail.sh脚本存放路径
[root@zabbix ~]# su zabbix #切换zabbix用户
[zabbix@zabbix root]$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 709885674@qq.com "test linux" "test"
#用zabbix用户执行sendmail.sh脚本看是否有权限,发件成功,邮件如下:

进入Zabbix后台web介面配置
1、管理 ----报警媒介类型-----创建媒介类型。
2、名称可以随便自己定义-----类型选择“脚本”-----脚本名称输入上一步编写的发送邮件的脚本名称----
再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:
{ALERT.SENDTO} #收件人地址
{ALERT.SUBJECT} #主题
{ALERT.MESSAGE} #详细内容
3、管理----用户-----选择admin用户(自己创建一个用户也可以)。
4、报警媒介----添加。
5、类型输入刚刚创建的报警媒介类型sendmail脚本---输入个人邮箱用于接收报警邮件---启动打勾----添加。
6、选择更新。
7、权限设置(管理员用户不用修改,权限默认所有服务器,如果要分类权限需要在用户组进行控制)。
8、管理---用户群组,需要把刚刚添加的
9、配置----动作----创建动作。
10、动作----名称自定义---设置一条新的触发条件----启用----添加。(触发条件根据实际情况设置) “触发器名称”、“ 似”、方框可填入“is unreachable for 5 minutes”#根据主机触发器 Template App Zabbix Agent:Zabbix agent on {HOST.NAME} is unreachable for 5 minutes设置,主要监测zabbix_agentd客户端连接情况。
11、配置---动作---操作(自定义的,根据自己的需求定义)。
默认接收人: fault {trigger.status}, server: {HOSTNAME1} occurs: {trigger.name} failure!
默认信息: alarm HOST IP address: {host.conn}
Alarm host: {HOSTNAME1}
Alarm TIME: {event.date} {event.time}
Alarm level: {trigger.severity}
Warning: {trigger.name}
Alarm project: {trigger.key1}
Details: {item.name} : {item.value}
Current STATUS: {trigger.status} : {item.value1}
12、配置---动作---恢复操作(自定义的,根据自己的需求定义)。
默认接收人:: restore {trigger.status}, server: {HOSTNAME1}: {trigger.name} has been restored!
恢复信息: alarm HOST IP address: {host.conn}
Alarm host: {HOSTNAME1}
Alarm TIME: {event.date} {event.time}
Alarm level: {trigger.severity}
Warning: {trigger.name}
Alarm project: {trigger.key1}
Details: {item.name} : {item.value}
Current STATUS: {trigger.status} : {item.value1}
13、已经设置好了,我们测试一下。检测中---仪表板,在 “系统状态”可以看到,有一个一般严重的故障,把鼠标放在1的位置就能看到相关信息。
14、报表---动作日志,可以看到发件的状态:已发送及内容(我这乱码了)。
15、返回邮箱,可以看到邮件报警内容了。(我这乱码了)。

zabbix之 qq邮件报警的更多相关文章
- zabbix实现QQ邮件报警通知--技术流ken
前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...
- zabbix 服务器设置邮件报警
实验条件: Zabbix监控服务器.客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常. 实现目的: Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动 ...
- centos7安装ZABBIX 3.0+ 邮件报警【OK】
设置主机名: vi /etc/hosts 10.0.0.252 zabbix-server hostnamectl set-hostname 关闭防火墙: systemctl stop firew ...
- 总zabbix配置-搭建-邮件报警-微信报警-监控mysql
Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成: 确认一下: 1 2 cat /etc/redhat-rele ...
- [Zabbix] 如何实现邮件报警通知以及免费短信报警通知
版权声明:本文为博主原创文章,未经博主允许不得转载. 前提条件: (1) zabbix服务器端已经成功安装并且运行. (2) zabbix客户端已经成功建立并且运行. 1 下载并且安装msmtp软件 ...
- zabbix实现163邮件报警
Zabbix 邮件报警 电脑登录网易邮箱配置,把自己的授权码看一下,并写入配置文件 server端安装配置邮件服务器 [root@server ~]# yum -y install mailx dos ...
- [Zabbix] 怎样实现邮件报警通知以及免费短信报警通知
前提条件: (1) zabbixserver端已经安装成功而且执行. (2) zabbixclient已经成功建立而且执行. 1 下载而且安装msmtp软件 Wget http://sourcefo ...
- zabbix监控之邮件报警通知
zabbix官网的操作指南:https://www.zabbix.com/documentation/4.0/zh/manual 首先我们需要创建一个需要被监控的主机,并设置相应的监控项.当监控项收集 ...
- zabbix 通过smtp 邮件报警
注:sendemail 不是sendmail....sendemail是用perl语言写的一个smtp发邮件的小程序....详情可自行查阅..... 1. media 用户配置下的media. Adm ...
随机推荐
- Spring.Net —IOC详解
一. Spring.net中IOC介绍 1. 什么是IOC,控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中 ...
- submit form to convert to a Java Bean model.
实体类中无需构造函数. Since we haven’t specified a constructor, Java will provide a default constructor that w ...
- kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries. 最无语的配置
注意: 本文不谈废话,低级问题请自行检查. 我使用Java版本的Kafka Producer生产数据,但是抛出了这个异常.百思不得其解,明明防火墙配置,ZooKeeper,Kafka配置都是没问题的啊 ...
- caffe-windows画loss与accuracy曲线
参考博客: http://blog.csdn.net/sunshine_in_moon/article/details/53541573 进入tools/extra/文件夹中,修改plot_train ...
- 获取ip地址&&测试ip地址
# request# 动态页面加载 Selenium# request# 响应类型为 json# import json # json.loads(str) # 将str转化为dict# json.d ...
- 92. Reverse Linked List II 反转链表 II
网址:https://leetcode.com/problems/reverse-linked-list-ii/ 核心部分:通过a.b.c三个变量之间的相互更新,不断反转部分链表 然后将反转部分左右两 ...
- createDocumentFragment() 方法
//createdocumentfragment()方法创建了一虚拟的节点对象,节点对象包含所有属性和方法. //当你想提取文档的一部分,改变,增加,或删除某些内容及插入到文档末尾可以使用create ...
- javax.net.ssl.SSLException: Certificate doesn't match any of the subject alternative names
问题:在使用 org.apache.http.*下的 CloseableHttpClient 发送https请求时报了以上错误 解决方案一:使用java.net.HttpURLConnection i ...
- c# 后台处理获取的JSON 数据
原创: http://www.imooc.com/article/8913 自己的例子: web.config <appSettings> <add key="GmailU ...
- mysql中关于关联索引的问题——对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引?
情况描述:在MySQL的user表中,对a,b,c三个字段建立联合索引,那么查询时使用其中的2个作为查询条件,是否还会走索引? 根据查询字段的位置不同来决定,如查询a, a,b a,b, ...