Chinaunix
标题:
zabbix 设置邮件报警的脚本无法执行
[打印本页]
作者:
wtz_wh
时间:
2014-09-02 10:37
标题:
zabbix 设置邮件报警的脚本无法执行
administration->Media types -> Create media type 创建一个media type
Name: msmtp
Type: Script
Script Name: za_msmtp.sh
za_msmtp.sh在/home/zabbix/目录下
[root@zabbix zabbix]# ll
total 4
-rw-r--r-- 1 zabbix zabbix 338 Sep 1 07:04 za_msmtp.sh
在administration->users->Admin user -> Media -> add
Type: msmtp
Send to:
xxxxxxx@qq.com
configuration-> Actions -> trigger test (添加的action)
operations -> action operations
Send message to users: Admin (Zabbix Administrator) via all media
但是events里边提示
/home/zabbix//za_msmtp.sh: [13] Permission denied
我已经将修改了za_msmtp.sh的权限了,不知道还需要设置哪些地方?
作者:
wtz_wh
时间:
2014-09-02 12:31
chmod 777 za_msmtp.sh
此问题解决
回复
1#
wtz_wh
作者:
rdcwayx
时间:
2014-09-02 17:39
这个不算解决,只能算是work around。
777 权限只是个权宜之计。
作者:
wtz_wh
时间:
2014-09-03 10:32
还有别的方法吗? 或者说设置成别的值?
回复
3#
rdcwayx
作者:
wtz_wh
时间:
2014-09-03 10:36
本帖最后由 wtz_wh 于 2014-09-03 10:50 编辑
我现在在root用户下执行这个脚本能够发送出邮件,在zabbix web界面上也显示已经发送成功。
QQ图片20140903103551.jpg
(29.48 KB, 下载次数: 113)
下载附件
2014-09-03 10:36 上传
但是却没有收到邮件,不知道是哪里的问题?
切换到zabbix用户,
./za_msmtp.sh
364014565@qq.com
morning
也能收到邮件
-rw------- 1 zabbix zabbix 257 Sep 2 01:59 .msmtprc
-rwxrwxrwx 1 zabbix zabbix 359 Sep 2 02:09 za_msmtp.sh
[root@zabbix zabbix]# cat .msmtprc
account zabbix
host smtp.126.com
port 587
from
zhangwentao0603@126.com
auth login
tls on
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-bundle.crt
user
zhangwentao0603@126.com
password xxxxxxx
logfile /var/log/zext_msmtp.log
account default :zabbix
[root@zabbix zabbix]# cat za_msmtp.sh
#! /bin/sh
DEBUG=1
if [ $DEBUG -gt 0 ]
then
exec 2>>/var/log/zext_msmtp.log
set -x
fi
FROM='zhangwentao0603@126.com'
MSMTP_ACCOUNT='zabbix'
recipient=$1
subject=$2
message=$3
date=`date --rfc-2822`
sed 's/$/\r/' <<EOF | /usr/local/bin/msmtp --account $MSMTP_ACCOUNT $recipient
From: <$FROM>
To: <$recipient>
Subject: $subject
Date: $date
$message
EOF
回复
3#
rdcwayx
作者:
wtz_wh
时间:
2014-09-03 15:16
好吧,我承认我没有认真看log文件
log里有一条message
msmtp: account zabbix not found: no configuration file available
但是我在zabbix用户下执行msmtp -P
会有详细内容出来
这个是说.msmtprc文件不存在吧?可是我明明在/home/zabbix/目录下有.msmtprc文件
目前的一个work around
cp /home/zabbix/.msmtprc /usr/local/etc/msmtprc
chown zabbix:zabbix /usr/local/etc/msmtprc
虽然问题解决了,但是还是有些疑惑:
1. zabbix 应该是以zabbix用户来发送邮件吧? 这个时候其实有没有系统默认的msmtp配置文件是没有关系的,这个可以通过使用zabbix用户,然后手动发送邮件能够成功进行验证。 那为什么zabbix自动发送邮件不行呢,难道zabbix只认系统默认的配置文件?
作者:
rdcwayx
时间:
2014-09-03 18:03
不错,算是对这个问题有了更深的理解了。 你可以直接去zabbix论坛上提出你的疑惑,或许是个bug。
作者:
蓝小墨云
时间:
2014-09-04 16:38
多谢楼猪的分享
作者:
mz_nh1
时间:
2016-03-30 23:42
我也碰到类似问题。用的是一个发送微信公众号脚本。界面显示:
2016-03-30 23:04:49 sendWeChatPython 已送
但是微信没有收到消息。使用zabbix直接运行脚本又可以正常接收。
查看 /tmp/zabbix_server.log又没有相关信息。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2