zabbix 服务器设置邮件报警
实验条件:
Zabbix监控服务器、客户端都已经部署完成,被监控主机已添加完成,Zabbix监控运行正常。
实现目的:
Zabbix监控服务器设置邮件报警,当被监控主机宕机或达到触发器预设值进,会自动发送报警邮件到指定的邮箱。
概念补充:
什么是MTA?什么是MUA?
通俗的说MUA就是用户使用的客户端,而MTA则是真正发送邮件的发送进程,MUA编写的邮件最终也交由MTA发送至目标端。
mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。
Sendmail和postfix即为负责邮件在网络上传输的MTA,将邮件从一个MTA传送至另一个MTA。
标注:使用zabbox服服务端本地邮箱账号发送邮件,需要安装两个软件达到报警邮件转发至指定邮箱。Sendmail或postfix(两个软件各选择一个,但不能同时运行)和mailx邮件客户端。
配置网络yum源参考教程:
http://www.cnblogs.com/zoulongbin/p/5773330.html
Zabbix服务器操作
1、 安装sendmail或postfix (邮件传送代理MTA),本教程使用sendmail软件。
(标注:如果直接使用外部邮箱发送邮件可以不需要配置sendmail或postfix,直接把这两个软件关掉,直接跳到第3步:配置mail即可实现)
[root@ssticentos65 ~]# yum -y install sendmail #在线yum安装sendmail
[root@ssticentos65 ~]# /etc/init.d/sendmail start #启动sendmail服务
[root@ssticentos65 ~]# /etc/init.d/sendmail status #查看sendmail启动情况
sendmail dead but subsys locked #sendmail进程锁住,原因是postfix服务启动导致sendmail服务进程锁住,需要关闭postfix服务。
sm-client (pid 1759) is running...
[root@ssticentos65 ~]# /etc/init.d/postfix stop #暂停postfix服务提示失败,原因是postfix进程正在使用,需要使用kill命令杀掉postfix进程
Shutting down postfix: [FAILED]
[root@ssticentos65 ~]# /etc/init.d/postfix status #查看postfix服务可以查看到进程号
master (pid 1647) is running...
[root@ssticentos65 ~]# kill -9 1647 #杀掉postfix服务进程号
[root@ssticentos65 ~]# /etc/init.d/postfix status #查看postfix状态
master dead but pid file exists
[root@ssticentos65 ~]# chkconfig postfix off #设置postfix开机不启动
[root@ssticentos65 ~]# /etc/init.d/sendmail stop #暂停sendmail服务
Shutting down sm-client: [ OK ]
Shutting down sendmail: [FAILED]
[root@ssticentos65 ~]# /etc/init.d/sendmail start #启动sendmail服务
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
[root@ssticentos65 ~]#
2、安装邮件发送工具mailx 。(邮件用户代理MUA)
[root@ssticentos65 ~]# yum -y install mailx #在线安装mailx
3、 配置mail
[root@ssticentos65 ~]# vim /etc/mail.rc
set from=lg1871212539@sina.com #新浪注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱
set smtp=smtp.sina.com #填写新浪发送邮箱服务器地址smtp
set smtp-auth-user= lg1871212539 #新浪个人邮箱用户
set smtp-auth-password=lg123456 #新浪个人邮箱密码
set smtp-auth=login #登录
4、测试邮件能否发送
#发送一份邮件到1873714157@qq.com 这个QQ邮箱(个人申请的QQ测试邮箱)
[root@ssticentos65 ~]# echo "test" | mail -s 'test linux' 1873714157@qq.com

5、编写邮件发送脚本sendmail.sh
[root@ssticentos65 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts/ #进入zabbix默认存放脚本路径
[root@ssticentos65 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@ssticentos65 ~]# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #sendmail.sh脚本修改所属用户和用户组
[root@ssticentos65 ~]# chmod 755 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #sendmail脚本赋予执行权限
[root@ssticentos65 ~]# ls -l /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh #查看sendmail.sh脚本信息
-rwxr-xr-x. 1 zabbix zabbix 154 Jan 7 05:12 /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
[root@ssticentos65 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf #配置zabbix_server.conf配置文件
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #这个修改成sendmail.sh脚本存放路径
[root@ssticentos65 ~]# su zabbix #切换zabbix用户
sh-4.1$ /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 1873714157@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、动作 ---- 名称自定义 --- 设置一条新的触发条件 ---- 启用 ---- 添加。(触发条件需要根据实际情况设置)
触发器 似 is unreachable for 5 minutes #根据主机触发器 Template App Zabbix Agent: Zabbix agent on {HOST.NAME} is unreachable for 5 minutes 设置,主要监测zabbix_agentd客户端连接情况。

10、定义操作。

默认接收人:故障{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}
11、定义恢复操作。

默认接收人:恢复{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}
12、测试。
[root@ssticentos65 alertscripts]# /etc/init.d/zabbix_agentd stop #暂停zabbix_agentd客户端服务



zabbix 服务器设置邮件报警的更多相关文章
- 【Zabbix】zabbix设置邮件报警
目录 Zabbix设置邮件报警 1.安装sendmail或postfix 2.安装邮件发送工具mailx . 3.配置mail 4. 测试邮件发送 5.编写邮件发送脚本sendmail.sh 6.设置 ...
- centos7安装ZABBIX 3.0+ 邮件报警【OK】
设置主机名: vi /etc/hosts 10.0.0.252 zabbix-server hostnamectl set-hostname 关闭防火墙: systemctl stop firew ...
- Zabbix设置邮件报警
邮件报警 概述当监控项收集了数据后,触发器会根据异常状态触发报警.根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看.这就是通知(Notifications)的 ...
- zabbix3 设置邮件报警(五)
Zabbix邮件报警配置 一.安装sendmail或者postfix(安装一种即可) yum install sendmail #安装 service sendmail start #启动 chkco ...
- 总zabbix配置-搭建-邮件报警-微信报警-监控mysql
Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成: 确认一下: 1 2 cat /etc/redhat-rele ...
- zabbix实现QQ邮件报警通知--技术流ken
前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...
- zabbix之 qq邮件报警
一.安装sendmail或postfix[root@zabbix ~]# yum install sendmail –y #在线yum安装sendmail[ro ...
- zabbix监控之邮件报警通知
zabbix官网的操作指南:https://www.zabbix.com/documentation/4.0/zh/manual 首先我们需要创建一个需要被监控的主机,并设置相应的监控项.当监控项收集 ...
- zabbix3.0.3 设置邮件报警
在zabbix3.0.3 设置报警这里卡了两天.终于解决了,这里我使用的mailx来作为发送邮件的客户端 1.设置mailx发信账号 yum -y install mailx ln -s /bin/m ...
随机推荐
- 在IIS服务器上屏蔽IP的访问
今天就跟大家分享一下在IIS服务器上如何屏蔽特定IP的访问,希望对大家有所帮助. 第一种方法:通过iis中的ip地址和域名限制. 此方法简单有效,建议使用 点击网站--右键属性--目录安全性--IP地 ...
- js判断浏览器内核和版本(包括手机端设备)
var X, xue;xue = xue || function(expr, fn) { return xue.dom ? xue.dom(expr, fn) : {};};X = xue;wi ...
- SecurityError: Blocked a frame with origin from accessing a cross-origin frame
问题描述:浏览器报错I am loading an <iframe> in my HTML page and trying to access the elements within it ...
- 16款纯CSS3实现的loading加载动画
分享16款纯CSS3实现的loading加载动画.这是一款实用的可替代GIF格式图片的CSS3加载动画代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div clas ...
- ajax无刷新方式对form表单进行赋值!
/** * 把json数据填充到from表单中 */ <form id="editForm" action="user.php"> 用户名:< ...
- 使用Task代替ThreadPool和Thread
转载:改善C#程序的建议9:使用Task代替ThreadPool和Thread 一:Task的优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的 ...
- USB入门
简述 USB(Universal Serial Bus)全称通用串口总线,USB为解决即插即用需求而诞生,支持热插拔.USB协议版本有USB1.0.USB1.1.USB2.0.USB3.1等,USB2 ...
- 阻止SPY++类似的程序捕捉软件窗口
我以前用Spy++能轻易捕捉360软件界面,除了一些应用DHTML制作的窗体.昨天我再用Spy++捕捉的时候捕捉不到了,甚至连最外围的对话框都捕捉不到,显然是做了类似拦截API的处理.下面我也模拟一下 ...
- 【整理】fiddler不能监听 localhost和 127.0.0.1的问题
localhost/127.0.0.1的请求不会通过任何代理发送,fiddler也就无法截获. 解决方案 1,用 http://localhost. (locahost紧跟一个点号)2,用 http: ...
- Android指南 - 样式和主题
本文翻译自:https://developer.android.com/guide/topics/ui/themes.html Style和theme词汇是专用术语,下文直接使用而不翻译. 样式和主题 ...