zabbix使用sendEmail发送邮件报警

时间:2021-02-25 17:47:45

sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.

一、配置sendEmail

1、下载安装sendEmail

[root@lys1 ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
---- ::-- http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
正在解析主机 caspian.dotconf.net... 69.164.196.234
正在连接 caspian.dotconf.net|69.164.196.234|:... 已连接。
已发出 HTTP 请求,正在等待回应... OK
长度: (29K) [application/x-gzip]
正在保存至: “sendEmail-v1..tar.gz” %[==================================================================================================================================================================================================>] , 160K/s in .2s -- :: ( KB/s) - 已保存 “sendEmail-v1..tar.gz” [/])
[root@lys1 ~]# tar -xf sendEmail-v1..tar.gz  #解压后就可以使用了
[root@lys1 ~]# mv sendEmail-v1./sendEmail /usr/local/bin/

2、发送邮件测试

 [root@lys1 ~]# /usr/local/bin/sendEmail -f @qq.com -t liuyisai@worldjoy.cn \
> -s smtp.qq.com -u "邮件主题" -o message-content-type=html -o message-charset=utf8 \
> -xu @qq.com -xp xxxxxx -m "邮箱内容"
Sep :: lys1 sendEmail[]: Email was sent successfully!
[root@lys1 ~]#
/usr/local/bin/sendEmail 命令主程序
-f ttlsafrom@.com 发件人邮箱
-s smtp..com 发件人邮箱的smtp服务器
-u "我是邮件主题" 邮件的标题
-o message-content-type=html 邮件内容的格式,html表示它是html格式
-o message-charset=utf8 邮件内容编码
-xu ttlsafrom@.com 发件人邮箱的用户名
-xp 发件人邮箱密码
-m "我是邮件内容" 邮件的具体内容

邮件发送成功

二、zabbix自定义脚本报警介质  

概述

zabbix媒介类型包括mail、sms、自定义脚本,我们用的最多的还是脚本媒介,再次我们就不讲另外两个媒介了。当事件通知到脚本,会传递三个参数它,分别为$1(发送给谁) $2(标题) $3(内容)。例如发送邮件给support@ttlsa.com,标题为nginx离线,内容是IP地址:1.1.1.1,nginx离线,请立即处理。

1、媒介配置

点击administrator->media types->create media types

zabbix使用sendEmail发送邮件报警

script name:脚本名称(需要先定义AlertScriptsPath,mail.sh放在这个目录下,写绝路路径没用)

2、配置AlertScriptsPath

[root@lys1 ~]# vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/etc/zabbix/alertscripts

3、编写报警脚本

 [root@lys1 ~]# vim /etc/zabbix/alertscripts/mail.sh
#!/bin/bash
#function:ZABBIX alarm mail
#author:liu yisai
#date: to=$
subject=$
body=$ /usr/local/bin/sendEmail -f @qq.com -t "$to" -s smtp.qq.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu @qq.com -xp xxxxx -m "$body"

4、为用户指定媒介

zabbix使用sendEmail发送邮件报警

5、创建报警动作

zabbix使用sendEmail发送邮件报警

zabbix使用sendEmail发送邮件报警

zabbix使用sendEmail发送邮件报警

6、创建个触发器测试下邮件报警功能

zabbix使用sendEmail发送邮件报警

7、去事件中查看实验结果

zabbix使用sendEmail发送邮件报警

zabbix使用sendEmail发送邮件报警

邮件报警成功!!!

zabbix通过sendEmail报警配置过程完成!