博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix邮件报警配置
阅读量:7123 次
发布时间:2019-06-28

本文共 3307 字,大约阅读时间需要 11 分钟。

Zabbix邮件报警配置

一、安装sendmail或者postfix(安装一种即可)

复制代码

yum install sendmail                 #安装service sendmail start              #启动chkconfig sendmail on                #设置开机启动或者yum install postfixservice postfix startchkconfig postfix on

复制代码

二、安装邮件发送工具mailx

yum install mailx         #安装

三、设置发送邮件的email,用于邮件发送

复制代码

cat /etc/mail.rc  //内容如下set from=xxx@sina.cnset smtp=smtp.sina.comset smtp-auth-user=xxx@sina.cnset smtp-auth-password=xxxxxxxset smtp-auth=login

复制代码

发送测试邮件

echo "zabbix test ..." |mail -s "zabbix" xxx@qq.com

四.zabbix服务器端编写邮件发送脚本.

复制代码

mkdir /etc/zabbix/alertscripts vim /etc/zabbix/zabbix_server.conf                  //修改alert scripts为以下路径AlertScriptsPath=/etc/zabbix/alertscripts/etc/init.d/zabbix_server restart            //重新启动zabbix服务端#vim /etc/zabbix/alertscripts/sendmail.sh            //编写邮件发送脚本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

复制代码

增加可执行权限

chown zabbix.zabbix /etc/zabbix/alertscripts/sendmail.shchmod +x /etc/zabbix/alertscripts/sendmail.sh

给日志赋予权限:

1

2

3

4

5

6

chown zabbix.zabbix /tmp/sendmail.log

测试:

      su - zabbix

       /etc/zabbix/alertscripts/sendmail.sh xxxx@juzifenqi.com " 测试邮件标题" "测试邮件内容"

 

看是否可以由zabbix用户执行调用.

测试发送脚本

/etc/zabbix/alertscripts/sendmail.sh xxx@qq.com "测试邮件标题" "测试邮件内容"

 上述操作均在zabbix service端操作.

五.zabbix后台配置,登录zabbix 控制台http://IP地址/zabbix.

1.> Administration|Media types | Create media type ,进入告警方式配置界面,创建sendmail.sh告警方式.

Name这里可以随便自己定义,Type选择scripts;Script name则输入linux下编写的脚本名称,即sendmail.sh,在Script parameters处点击Add分别添加

{ALERT.SENDTO},

{ALERT.SUBJECT},

{ALERT.MESSAGE} 3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容然后点击Add添加完成.

点击Administration | Users,进入用户配置界面,点击Admin用户,在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:

配置完成后如下图:

点击User groups,点击zabbix administrator组后面的调用模式,点击一下,就启用了,如下图:

点击 Zabbix administrators 组名称 点Permissions->Add 选择所有 点击select进行更新。

2.>设置Zabbix触发报警的动作。

Configuration-->Action 点击右上方的Create action创建action (也可以修改已有的Actions),具体如下:

复制代码

Name    名字自己随便定义(如Server-Sendmail)Default subject   故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!#Default subject定义收到邮件头的信息.Default message      #定义邮件的内容信息告警主机:{HOSTNAME1}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}Recovery message    打钩  #服务恢复后的信息Recovery subject  恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!Recovery message告警主机:{HOSTNAME1}告警时间:{EVENT.DATE} {EVENT.TIME}告警等级:{TRIGGER.SEVERITY}告警信息: {TRIGGER.NAME}告警项目:{TRIGGER.KEY1}问题详情:{ITEM.NAME}:{ITEM.VALUE}当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}事件ID:{EVENT.ID}

复制代码

如图:

 点击 Configuration | Actions | Operations  如图:

修改以下内容(实际情况,大家根据自己需求填写,这里仅仅为了展示)

Default operation step duration 为60秒 

Steps 为3,表示触发3次动作 
Send to User groups 选择Zabbix administrators 
Send to Users 选择 Admin (Zabbix Administrator)
Send only to 选择 sendmail.sh

点击Add

 解释: 

默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。 
假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件 

至此zabbix邮件报警基本配置完成!

测试时,停止zabbix_agent看能否收到邮件信息!如收到信息格式个信息内容基本如下;

 

查看Reports | Action log 查看日志信息和发送状态.

 

参考文档:

http://www.cnblogs.com/fujinzhou/p/5687384.html

http://www.cnblogs.com/wjoyxt/p/5368690.html

 

转载于:https://www.cnblogs.com/lihuaichen/p/10128396.html

你可能感兴趣的文章
Java程序员学会了这五张图,入职美团、京东、BAT不在话下
查看>>
玩转Go语言之Hello World!
查看>>
Redis 4.0 自动内存碎片整理(Active Defrag)源码分析
查看>>
优雅地乱玩Linux-2-zsh
查看>>
我从小程序学到了什么(一)
查看>>
学习笔记之事件循环-Event loop
查看>>
前端权限管理之 addRoutes 动态加载路由踩坑
查看>>
JavaScript算法之递归
查看>>
工厂方法与 FactoryBean(Spring对工厂模式的XML支持)
查看>>
div对角放置图片
查看>>
Spring Boot 自动配置原理
查看>>
每日一篇——lodash——array——chunk
查看>>
[译文] 如何在 Node.js 中使用 ES6 语法的 import/export
查看>>
js使用dispatchEvent派发自定义事件
查看>>
Java程序员从阿里、百度面试回来,这些面试题你们会吗?
查看>>
你知道我们平时在CSS中写的%都是相对于谁吗?
查看>>
如何使用 GitHub Flow 给开源项目贡献代码
查看>>
声明 NSString 类型的属性,到底用 strong 还是 copy ?
查看>>
gulp如何打包css、sass编译、自动加css前缀、js压缩、es6转换es5
查看>>
用python批量替换MD文件中的图片地址
查看>>