zabbix上怎么通过sendmail发送邮件报警

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix上怎么通过sendmail发送邮件报警相关的知识,希望对你有一定的参考价值。

参考技术A zabbix相关环境:
OS: centos 5.4 x86_64 zabbix: 1.8.3 sendmail: 8.13.8-2.el5
在配置zabbix的Email报警之前,需要将sendmail使用的域名进行相应的修改,系统默认为localhost.localdomain,其实不改也行,不过有些pop3服务器会过滤掉来自localhost.localdomain的邮件,导致邮件不能正常查收,所以,最好是改一下 hostname,确保邮件发送的成功率。
以下是我线上机器修改好了的配置,可供参考。
# cat /etc/hosts
127.0.0.1 monitor.bot.cms localhost.localdomain localhost
# cat /etc/mail/access
Connect:localhost.localdomain RELAY
  Connect:localhost RELAY
Connect:127.0.0.1
Connect:monitor.bot.cms RELAY
# cat /etc/mail/local-host-names
monitor.bot.cms
修改完成后,重启sendmail服务,通过telnet命令,测试一下看看是否已生效
# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to monitor.bot.cms (127.0.0.1).
Escape character is '^]'.
220 monitor.bot.cms ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800
从以上结果可以发现,localhost.localdomain 已经变成了 monitor.bot.cms 这个域名,表示修改成功,接下来就可以在zabbix 的管理页面上进行Email 报警设置了。

设置完成后点击保存按钮,到此Email报警设置就结束了,测试时,可以新建一个action,报警方式选择Email, 当trigger成功触发后,一分钟后就可以查收邮件了。

zabbix3.0.4安装部署文档--邮件报警

一、使用外部邮箱账号发送报警邮件设置:
        1、关闭sendmail或者postfix

       使用外部邮箱账号时,不需要启动sendmail或者postfix ,如果在sendmail或者postfix启动的同时          使用外部邮箱发送报警邮件,首先会读取外部邮箱配置信息。
        [[email protected] local]# /etc/init.d/sendmail stop
        [[email protected] local]# /etc/init.d/postfix stop

        2、安装测试邮件发送工具mailx

        [[email protected] ~]#  yum install mailx

        [[email protected] ~]#  vi /etc/mail.rc   //在文件的最后添加以下内容

        set from=******@163.com smtp=smtp.163.com

        set smtp-auth-user=*******@163.com  smtp-auth-password=********

        set smtp-auth=login

        [[email protected] ~]#  echo "zabbix test mail" |mail -s "zabbix" [email protected]
        

技术分享

技术分享

二、添加zabbix服务器发送脚本

        cd /usr/local/zabbix-3.0.4/share/zabbix/alertscripts

        vim sendmail.sh

        #!/bin/sh

        echo "$3" | mail -s "$2" $1

        chown zabbix.zabbix /usr/local/zabbix-3.0.4/share/zabbix/alertscripts/sendmail.sh

        chmod +x /usr/local/zabbix-3.0.4/share/zabbix/alertscripts/sendmail.sh

三、进入zabbix管理界面

        点击 管理-->报警媒介类型-->创建媒体类型

        

技术分享

        输入脚本名称,类型选择脚本

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

        {ALERT.SENDTO}

        {ALERT.SUBJECT}

        {ALERT.MESSAGE}

        

技术分享

        

        解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。

        那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。

        在2.x版本不存在这个问题,默认会传3个参数。

        点击admin

技术分享

技术分享

技术分享

        点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了

技术分享

        点权限,添加

技术分享

        点名称,选择所有

技术分享

        点击更新

技术分享

        配置-->动作-->创建动作

        

技术分享

技术分享

技术分享



        配置完成看看效果吧哈哈!!

        




        






以上是关于zabbix上怎么通过sendmail发送邮件报警的主要内容,如果未能解决你的问题,请参考以下文章

Zabbixzabbix设置邮件报警

Zabbix用Email介质SMTP发送报警

zabbix使用sendEmail发送邮件报警

zabbix 邮件告警配置

zabbix3.0.4安装部署文档--邮件报警

zabbix实现邮件报警