博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日常运维--Zabbix3.4设置邮件告警
阅读量:3724 次
发布时间:2019-05-22

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

 

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 

2、安装邮件发送工具mailx 。(邮件用户代理MUA)

 [root@ssticentos65 ~]# yum -y install mailx     #在线安装mailx

3、  配置mail

[root@ssticentos65 ~]# vim /etc/mail.rc

set sendcharsets=iso-8859-1,utf-8

set from=xxxxxx_alarm@mail.com   #用于zabbi服务端转发邮件到指定邮箱

set smtp=smtp.mail.com               #填写发送邮箱服务器地址smtp

set smtp-auth-user=xxxxx_alarm@mail.com #个人邮箱账号

set smtp-auth-password=xxxxxx_alarm_jo       #个人邮箱密码

4、测试邮件能否发送

发送一份邮件到xxxxxx@mail.com邮箱

[root@ssticentos65 ~]# echo "test" | mail -s 'test linux' xxxxxx@mail.com

5、编写邮件发送脚本sendmail.sh

[root@ssticentos65 ~]# cd /usr/lib/zabbix/alertscripts/ #进入zabbix默认存放脚本路径

[root@ssticentos65 alertscripts]# vim sendmail.sh #编写发送邮件脚本

#!bin/bash FILE=/tmp/mailtmp.txt echo "$3" > $FILE dos2unix -k $FILE /bin/mail -s "$2" $1 < $FILE

[root@ssticentos65 ~]# touch /tmp/mailtmp.txt

[root@ssticentos65 ~]# chown zabbix.zabbix /tmp/mailtmp.txt

sendmail.sh脚本修改所属用户和用户组

[root@ssticentos65 ~]# chown zabbix. /usr/lib/zabbix/alertscripts/sendmail.sh

[root@ssticentos65 alertscripts]# chmod 755 sendmail.sh #sendmail脚本赋予执行权限

[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脚本看是否有权限

6、Zabbix后台web介面配置

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

2、名称可以随便自己定义-->类型选择:脚本-->脚本名称输入上一步编写的发送邮件的脚本名称

再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

3、管理 ---- 用户 ----- 选择admin用户。(自己创建一个用户也可以)

4、报警媒介 ---- 添加。

5、类型输入刚刚创建的报警媒介类型sendmail脚本 --- 输入个人邮箱用于接收报警邮件 --- 启动打勾 ---- 添加。

6、选择更新

7、配置 ---- 动作 ---- 创建动作。

8、定义操作。

默认接收人:

故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警主机IP地址:{HOST.CONN}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

10、定义恢复操作

默认接收人:

恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警主机IP地址:{HOST.CONN}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

11、测试

[root@ssticentos65 alertscripts]# systemctl stop zabbix-agent #暂停zabbix_agentd客户端服务

 

转载地址:http://jodnn.baihongyu.com/

你可能感兴趣的文章
Redis零基础教程及SpringBoot整合Redis与使用
查看>>
矩阵的QR分解求解线性方程组
查看>>
springboot配置日期格式处理遇到的坑
查看>>
emqx运行起来了,curl也是通的,但外网访问不
查看>>
10个解放双手的实用在线工具
查看>>
oracleTB级数据恢复遇到的坑
查看>>
Oracle归档日志
查看>>
Python-pyqt5+opencv视频播放器,上传本地视频(三)
查看>>
ModuleNotFoundError: No module namedNo module named ‘tensorflow_core.estimator‘,亲测有效
查看>>
Python-PyQt5+Mysql-数据交互,获取数据,并写入数据库,再并展示数据(四)
查看>>
AWK超详解
查看>>
linux经典面试题----开机启动流程
查看>>
静态配置ip地址
查看>>
linux手工新建用户(通过文件操作)
查看>>
计算机网络经典面试题目-----三次握手四次断开
查看>>
高可用和负载均衡学习笔记
查看>>
浅谈列表和元组的区别
查看>>
mysql学习笔记--主从复制
查看>>
mysql学习笔记-----读写分离+高可用
查看>>
mysql学习笔记---sql语句
查看>>