使用公网邮箱发送-Zabbix-报警邮件

邮件系统简要介绍:
电子邮件系统包括两个组件:MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理 postfix)MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA是运行在底层,能够处理邮件的收发工作的程序。

mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。

  1. 注册163邮箱
  2. 登陆网页邮箱设置客户端授权密码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KSUgCHr-1585731397653)(https://upload-images.jianshu.io/upload_images/21294643-ab2d3aa031c3d2aa.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#一、server服务器端:

#安装MUA软件:mailx
[root@zabbix-server ~]#  yum install mailx -y
[root@zabbix-server ~]# mailx -V 
12.5 7/5/10
注:使用新的方式--利用公网邮件服务器发送报警,需要关闭postfix服务
[root@zabbix-server ~]# systemctl stop postfix

#配置公网邮箱信息
[root@zabbix-server ~]# vim /etc/mail.rc  ---在最后添加如下:
set [email protected](邮箱地址) 
set smtp=smtp.163.com(smtp服务器) 
set [email protected](用户名) 
set smtp-auth-password=qf123456(这里是邮箱的授权密码) 
set smtp-auth=login

#手动发送邮件测试
[root@zabbix-server ~]# mailx -v -s 'hello' '[email protected]'     #手写邮件内容 (回车,然后ctrl+d正常结束)
nihao
EOT
Resolving host smtp.163.com . . . done.
Connecting to 123.126.97.2:smtp . . . connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])
>>> EHLO zabbix-server
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN 
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFeF38eUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> bHd4MTgzNjYwMTkzNTZAMTYzLmNvbQ==
334 UGFzc3dvcmQ6
>>> bHd4MTgzNjYwMTkzNTY=
235 Authentication successful
>>> MAIL FROM:<[email protected]>
250 Mail OK
>>> RCPT TO:<[email protected]>
250 Mail OK
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Mail OK queued as smtp2,GtxpCgDXkqTEFERdskSAAA--.825S2 1564742867
>>> QUIT
221 Bye

手动使用mailx发送邮件测试结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUioYKU4-1585731397653)(https://upload-images.jianshu.io/upload_images/21294643-ff858611b6b142de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#二、zabbix添加邮件报警功能:

配置 zabbix 的邮件报警功能需要以下三个角色的参与:
1、 示警媒体(Media): 指的是 zabbix 采用何种方式进行报警,目前 Zabbix 支持的示警媒体包括邮件、Jabber、短信。jabber是linux下一种即时通讯工具。
2、 触发器(Triggers):指的是当监控对象达到某个条件或条件集合的时候,触发 Zabbix 产生事件。
3、 动作(Action) :指的是 Zabbix 产生对应事件后,它通过示警媒体发送报警。

###1. 示警媒体的配置:
首先需要配置 Zabbix 的邮件功能。
点击 管理->报警媒介类型->创建媒体类型

#####1.1 在页面中填入你的报警媒介类型信息,例如下图所示:
注:脚本名称任意,存放于/usr/lib/zabbix/alertscripts (生产上的测试服在:/usr/local/zabbix/share/zabbix/alertscripts)

名称:sendmail                   //名称任意
类型:脚本
脚本名称:sendmail.sh      
脚本参数:                          //一定要写,否则可能发送不成功
    {ALERT.SENDTO}              //照填,收件人变量
    {ALERT.SUBJECT}             //照填,邮件主题变量,变量值来源于‘动作’中的‘默认接收人’
    {ALERT.MESSAGE}           //照填,邮件正文变量,变量值来源于‘动作’中的‘默认信息’

配置完成后,不要忘记点击存档,保存你的配置。   

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NUJhXrG2-1585731397654)(https://upload-images.jianshu.io/upload_images/21294643-429554a073606587.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

#####1.2 修改zabbix服务端配置文件&编写脚本:指定脚本的存储路径:

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts

#编写邮件脚本
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# vim sendmail.sh   
#!/bin/sh 
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1

$1:接受者的邮箱地址:sendto,$2:邮件的主题:subject$,3:邮件内容:message

#修改权限
[root@zabbix-server alertscripts]# chmod u+x sendmail.sh && chown zabbix.zabbix sendmail.sh

#####1.3 修改admin用户的报警媒介

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j9QZJz9h-1585731397654)(https://upload-images.jianshu.io/upload_images/21294643-71e765b28290c3c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
用户默认是没有设置报警媒介的,设置后就可以接收报警消息了。
接下来,设置接受报警用户的电子邮件
点击:管理->报警媒介类型->Admin->报警媒介->添加
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7wL5zynF-1585731397654)(https://upload-images.jianshu.io/upload_images/21294643-3166f80b46641fb5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###2. 触发器的配置
接下来,点击配置->主机->none1->触发器->创建触发器
我们给 none1 这台主机增加一个触发器。点击 none1 这一行中的“触发器”,然后再点击创建触发器。
如下:
名称:填入触发器的名字
表达式:用于配置触发器的触发条件,点击添加按钮有条件选项。 ----键值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5B6MjpR7-1585731397654)(https://upload-images.jianshu.io/upload_images/21294643-7a22c966e02a78be.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

再点击项目右侧的选择,选择我们之前配置过的监控项“redis status”,并设置触发的阀值
Zabbix 会自动生成表达式。接下来根据情况选择事件的严重性。配置完毕后,点击存档保存。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7tQbgwxg-1585731397654)(https://upload-images.jianshu.io/upload_images/21294643-d509f3508b1b5592.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

###3. 动作的配置
点击:配置->动作->事件源下拉菜单中选择触发器->创建动作

名称:redis-port

默认信息:邮件的主题
主机: {HOST.NAME1}
时间: {EVENT.DATE} {EVENT.TIME}
级别: {TRIGGER.SEVERITY}
触发: {TRIGGER.NAME}
详情: {ITEM.NAME1}:{ITEM.KEY1}:{ITEM.VALUE1}
状态: {TRIGGER.STATUS}
项目:{TRIGGER.KEY1} 
事件ID:{EVENT.ID}

恢复邮件:

恢复主题:
服务器:[{HOSTNAME1}]故障已恢复。故障原因:{TRIGGER.NAME} 
恢复信息:恢复邮件的正文。当故障恢复正常后也发邮件通知一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pz1AUFCH-1585731397655)(https://upload-images.jianshu.io/upload_images/21294643-614e25013808cae1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

点击:操作->编辑:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qeieEx1s-1585731397655)(https://upload-images.jianshu.io/upload_images/21294643-68fd8dfe0f659c26.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

发送间隔:60秒,步骤:发送10次发送到:admin用户,仅使用:邮件报警方式发送
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HDM2cTBD-1585731397655)(https://upload-images.jianshu.io/upload_images/21294643-cbbed4126cb057e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lKvlBxHX-1585731397656)(https://upload-images.jianshu.io/upload_images/21294643-c951dd46b6b0c4fd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mKX8eTq9-1585731397656)(https://upload-images.jianshu.io/upload_images/21294643-7b13106294dbe0f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

需要特别解释一下的是“步骤”部分的配置。所谓步骤是指报警可以有多个步骤,做不同的报警。

  • 例如,自从 1 到 3,就是指报警的步骤有三个。步骤持续时间就是一定时间后如果监控人员仍未响应报警就进入下一个报警步骤。
  • 例如,发邮件给你报警,如果60 秒后你没响应,那就发 jabber 信息提醒你。如果 60 秒后还没响应,那就发短信给你。要是还没响应,就没有然后了。你可以形象的把它理解为 Zabbix 的一哭二闹三上吊。
  • 到此,一个邮件报警功能就配置完毕了。如果你想立即看到结果,可以修改触发器的条件,将redis的服务停止掉。你马上就会收到 Zabbix 发来的报警邮件了

###4. 测试
在被监控端操作:

# systemctl stop redis

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FTPJgHuY-1585731397656)(https://upload-images.jianshu.io/upload_images/21294643-c886b559ae38963a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

发布了92 篇原创文章 · 获赞 0 · 访问量 1418

猜你喜欢

转载自blog.csdn.net/Forgetfanhua/article/details/105250011
今日推荐