免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 29935 | 回复: 8

[Zabbix] zabbix 设置邮件报警的脚本无法执行 [复制链接]

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 2014-09-02 10:37 |显示全部楼层
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的权限了,不知道还需要设置哪些地方?

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 2014-09-02 12:31 |显示全部楼层
chmod 777 za_msmtp.sh
此问题解决
回复 1# wtz_wh


   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-09-02 17:39 |显示全部楼层
这个不算解决,只能算是work around。

777 权限只是个权宜之计。

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 2014-09-03 10:32 |显示全部楼层
还有别的方法吗? 或者说设置成别的值?
回复 3# rdcwayx


   

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 2014-09-03 10:36 |显示全部楼层
本帖最后由 wtz_wh 于 2014-09-03 10:50 编辑

我现在在root用户下执行这个脚本能够发送出邮件,在zabbix web界面上也显示已经发送成功。
QQ图片20140903103551.jpg
但是却没有收到邮件,不知道是哪里的问题?

切换到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


   

论坛徽章:
1
NBA常规赛纪念章
日期:2015-05-04 22:32:03
发表于 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只认系统默认的配置文件?

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2014-09-03 18:03 |显示全部楼层
不错,算是对这个问题有了更深的理解了。 你可以直接去zabbix论坛上提出你的疑惑,或许是个bug。

论坛徽章:
0
发表于 2014-09-04 16:38 |显示全部楼层
多谢楼猪的分享

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-07-12 06:20:00
发表于 2016-03-30 23:42 |显示全部楼层
我也碰到类似问题。用的是一个发送微信公众号脚本。界面显示:
2016-03-30 23:04:49        sendWeChatPython        已送
但是微信没有收到消息。使用zabbix直接运行脚本又可以正常接收。
查看 /tmp/zabbix_server.log又没有相关信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP