zabbix使用sendEmail发送邮件报警

一个人想着一个人 提交于 2020-03-09 20:40:22

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
--2016-09-19 03:04:07--  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|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:29740 (29K) [application/x-gzip]
正在保存至: “sendEmail-v1.56.tar.gz”

100%[==================================================================================================================================================================================================>] 29,740       160K/s   in 0.2s    

2016-09-19 03:04:08 (160 KB/s) - 已保存 “sendEmail-v1.56.tar.gz” [29740/29740])
[root@lys1 ~]# tar -xf sendEmail-v1.56.tar.gz  #解压后就可以使用了
[root@lys1 ~]# mv sendEmail-v1.56/sendEmail /usr/local/bin/

2、发送邮件测试

 1 [root@lys1 ~]# /usr/local/bin/sendEmail -f 290273056@qq.com -t liuyisai@worldjoy.cn \
 2 > -s smtp.qq.com -u "邮件主题" -o message-content-type=html -o message-charset=utf8 \
 3 > -xu 290273056@qq.com -xp xxxxxx -m "邮箱内容"
 4 Sep 19 03:12:54 lys1 sendEmail[2154]: Email was sent successfully!
 5 [root@lys1 ~]# 
 6 /usr/local/bin/sendEmail 命令主程序
 7 -f ttlsafrom@163.com  发件人邮箱
 8 -s smtp.163.com       发件人邮箱的smtp服务器
 9 -u "我是邮件主题"     邮件的标题
10 -o message-content-type=html   邮件内容的格式,html表示它是html格式
11 -o message-charset=utf8        邮件内容编码
12 -xu ttlsafrom@163.com          发件人邮箱的用户名
13 -xp 123456               发件人邮箱密码
14 -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

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

2、配置AlertScriptsPath

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

3、编写报警脚本

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

4、为用户指定媒介

5、创建报警动作

 

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

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

邮件报警成功!!!

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!