zabbix-sendemail报警

这两天在学习zabbix,在设置邮件报警时遇到了点状况。zabbix web端时间记录显示邮件已发送,sendEmail邮件却发送失败,查看/tmp/22.log日志文件有以下错误日志

Dec 27 18:27:30 chensh sendEmail[5440]: ERROR => You must specify at least o    ne recipient via -t, -cc, or -bcc

380 print() on closed filehandle LOGFILE at /usr/local/bin/sendEmail/sendEmail l    ine 1136.

收索网上的资料多有不全,经过不懈寻找终于解决了问题,是WEB端没有配置脚本传参的缘故。特此整合下分享给童鞋们,希望后者一切顺利,并谢过前者。




一、安装sendEmail

sendEmail下载地址:

http://caspian.dotconf.net/menu/Software/SendEmail/



[[email protected] ~]tar xvzf sendEmail-v1.56.tar.gz

[[email protected] ~]cp sendEmail-v1.56/sendEmail/sendEmail /usr/local/bin/

[[email protected] ~]chmod 755 /usr/local/bin/sendEmail






二、网易邮箱设置

选择【设置】->【OP3/SMTP】开通POP3/SMTP服务

POP3服务器: pop.163.com

SMTP服务器: smtp.163.com



三、zabbix服务器端发送邮件脚本


[[email protected] ~]mkdir -p /usr/local/zabbix/share/zabbix/alertscripts

[[email protected] ~]vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

重启zabbix server

[[email protected] ~]vim /usr/local/zabbix/share/zabbix/alertscripts/mail.sh

#!/bin/bash

# 脚本的日志文件

LOGFILE="/tmp/Email.log"

:>"$LOGFILE"

exec 1>"$LOGFILE"

exec 2>&1

SMTP_server=‘smtp.163.com‘    # SMTP服务器,变量值需要自行修改

username=‘[email protected]‘     # 用户名,变量值需要自行修改

password=‘zabbix‘             # 密码,变量值需要自行修改

from_email_address=‘[email protected]‘ # 发件人Email地址,变量值需要自行修改

to_email_address="$1"               # 收件人Email地址,zabbix传入的第一个参数

message_subject_utf8="$2"           # 邮件标题,zabbix传入的第二个参数

message_body_utf8="$3"              # 邮件内容,zabbix传入的第三个参数

# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。

message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF

$message_subject_utf8

EOF`

[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"

# 转换邮件内容为GB2312,解决收到邮件内容乱码

message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF

$message_body_utf8

EOF`

[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"

# 发送邮件

sendEmail=‘/usr/local/zabbix/share/zabbix/alertscripts/mail.sh‘

set -x

$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312


[[email protected] ~]touch /tmp/Email.log

[[email protected] ~]chown zabbix:zabbix /tmp/Email.log

[[email protected] ~]chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/mail.sh

[[email protected] ~]chmod +x /usr/local/zabbix/share/zabbix/alertscripts/mail.sh









四、zabbixWEB配置Email告警方式

选择【Administration】->【Users】,配置user。

选择【Administration】->【Users】,配置Media。

【Administration】->【media types】

【configuration】->【actions】->【actions】

【configuration】->【actions】->【conditions】

【configuration】->【actions】->【operations】





五、测试

关闭agent服务器,查看报警邮箱能否收到报警,有问题请查看/tmp/22.log日志文件解决。

打完收工,人品OK的话


时间: 2024-07-29 00:22:37

zabbix-sendemail报警的相关文章

zabbix使用sendEmail报警

这个很早以前就做过这个测试,突然间找到了.不过当时记得是参考谁的文档来着,,具体忘记了..找不到源文档了.. sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bash perl和web站点使用.以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了. 1.下载sendEmail软件以及解压 [[email protected] ~]# wget http:

CentOS 6.5 zabbix 3.0.4 SendEmail报警

官方介绍:http://caspian.dotconf.net/menu/Software/SendEmail/ 1.sendEmail部署 下载安装包到本地.解压 [[email protected] SendEmail]# wget -c http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz --2016-08-30 22:21:50-- http://caspian.dotconf.net/men

zabbix 邮件报警 -- sendmail

用了几个邮件报警软件,感觉还是sendmail及时.稳定. 一.zabbix server服务器上配置: 1.1 发送邮件脚本的存放路径: 1 2 3 [[email protected]_server etc]# cat zabbix_server.conf | grep alertscripts  # AlertScriptsPath=${datadir}/zabbix/alertscripts  AlertScriptsPath=/usr/local/zabbix/share/zabbix

Zabbix邮件报警配置

一.安装sendmail或者postfix(安装一种即可) yum install sendmail                #安装 service sendmail start              #启动 chkconfig sendmail on                #设置开机启动 或者 yum install postfix service postfix start chkconfig postfix on 二.安装邮件发送工具mailx yum install m

zabbix 邮件报警(五)

一.sendEmail配置zabbix邮件报警 1.下载sendEmail: wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz 2.配置sendEmail: # yum -y install perl-Net-SSLeay perl-IO-Socket-SSL # 安装组件 # tar xf sendEmail-v1.56.tar.gz -C /usr/src/ # cd /usr/src

zabbix邮件报警发送至qq邮箱

zabbix邮件报警设置 第一.安装邮件发送工具mailx 这里我选择的是mailx,所以的关闭其他的邮件发送工具 service sendmail  start #开启,因为发送邮件需要开启25端口   chkconfig sendmail  off #禁止开机启动   service postfix  stop   chkconfig postfix  off 执行安装mailx的命令:yum install mailx 第二.配置Zabbix服务端外部邮箱 打开文件vi /etc/mail

zabbix邮件报警(转)

sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bash perl和web站点使用. 请注意,不是sendmail.我第一次看到这个名字,直接yum install -y sendmail了 然后下面就蒙圈了. 下载软件 wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.

linux 下搭建zabbix邮件报警

一.搭建环境介绍 hostname IP zabbix版本 系统版本 服务端 webserver 192.168.1.20 zabbix2.2 CentOS 6.6 客户端 hpf-linux 192.168.1.110 zabbix2.2 CentOS 6.6 二.使用外部邮箱账号发送报警邮件设置: 1.关闭sendmail或者postfix 使用外部邮箱账号时,不需要启动sendmail或者postfix ,如果在sendmail或者postfix启动的同时使用外部邮箱发送报警邮件,首先会读

zabbix 微信报警设置

#================ 报警方式一 使用微信官方API ========================= 待添加 #================报警方式二 ============================= #安装告警agent wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC2.tar.gz tar -xvf alert-agent-4.0.1-RC2.tar.gz cp -a aler

linux中Zabbix邮件报警设置配置步骤

使用外部邮箱账号发送报警邮件设置 配置Zabbix服务端外部邮箱 vi /etc/mail.rc #编辑,添加以下信息 set [email protected] smtp=smtp.163.com set [email protected] smtp-auth-password=123456 set smtp-auth=login :wq! #保存退出 配置Zabbix服务端邮件报警 1. 管理-示警媒介类型-创建媒体类型 名称:Sendmail 类型:脚本 脚本名称:sendmail.sh