您的位置:首页 > 编程语言 > PHP开发

Zabbix msmtp+mutt 邮件报警

2014-09-10 00:00 381 查看
摘要: msmtp mutt zabbix

环境:zabbix2.2.4 ; centos6.5 ;

需求:zabbix 邮件报警

方案:利用163的邮箱或者公司内部的邮箱,用msmtp+mutt 完成邮件报警

实施步骤:

1;msmtp的安装

a; tar xf msmtp-1.4.17.tar.bz2

b; cd msmtp-1.4.17

c; mkdir -p /opt/local/etc

d; ./configure --prefix=/opt/local/ --sysconfdir=/opt/local/etc

2 ;配置msmtp

a; mkdir -p /var/log/zabbix //建立日志文件

touch /var/log/zabbix/msmtp.log

chown zabbix:zabbix /var/log/zabbix

b; vi /opt/local/msmtp/etc/msmtprc

account zabbix
host smtp.163.com //smtp 服务器
port 25
from ssss8888@163.com
auth login
tls off
user ssss8888 //发送邮件的邮箱账号
password 123456 //密码
logfile /var/log/zabbix/msmtp.log //日志

d; 测试msmtp

/opt/local/msmtp/bin/msmtp 12345@qq.com //发送给这个qq邮箱

hello word! test mail //邮件内容

//ctrl+d 结束发送邮件

3; 进日志或者邮箱看下是否正常发送

4;安装mutt,测试mutt发送邮件

a; 配置

yum -y install mutt

vi /etc/Muttrc

set sendmail="/opt/local/msmtp/bin/msmtp"

set use_from=yes

set realname="ssss8888@163.com"

set editor="vi"

b;mutt命令测试发邮件

echo "helloworld" | mutt -s "hello" 12345@qq.com

5;创建邮件脚本

a;编辑脚本

vi /opt/local/zabbix/share/zabbix/alertscripts/zext_msmtp.sh

#! /bin/bash
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/zabbix/msmtp.log
set -x
fi
FROM='ssss8888@163.com'
MSMTP_ACCOUNT='zabbix'
# Parameters (as passed by Zabbix):
# $1 : Recipient
# $2 : Subject
# $3 : Message
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <<EOF | /opt/local/msmtp/bin/msmtp --account $MSMTP_ACCOUNT $recipient
From: <$FROM>
To: <$recipient>
Subject: $subject
Date: $date
$message
EOF

b; 授权,改权限

chown zabbix:zabbix zext_msmtp.sh

chmod 755 zext_msmtp.sh

6;zabbix server配置里修改脚本位置

vi /opt/local/zabbix/etc/zabbix_server.conf

AlertScriptsPath=/opt/local/zabbix/share/zabbix/alertscripts //打开参数,设置脚本位置

7;配置zabbix媒体类型,添加邮件报警

a;管理-示警媒介类型-创建媒体类型





b;管理-用户,对特定用户设置邮件报警



8;建立动作,设置用zext_msmtp 报警

组态-动作 来设置一个动作



9;设置好后,触发一个报警然动作执行,看是否收到邮件报警

查看动作是否执行成功,直接 监测中-事件 点开事件,查看,如下图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix 邮件报警