CentOS---zabbix使用sendEamil发送报警

一、sendEmail简介

  sendEmail是一个轻量级,命令行的SMTP邮件客户端。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php、bash
perl和web站点使用。
以上是sendEmail的简单介绍,千万不要和sendmail搞混掉了。用了sendEmail你将不在喜欢sendmail了.

二、安装配置sendEmail

sendEmail下载地址:

http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

下载sendEmail

[[email protected] ~]# wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
--2017-06-08 05:07:01--  http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
正在解析主机 caspian.dotconf.net... 69.164.196.234
正在连接 caspian.dotconf.net|69.164.196.234|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:29740 (29K) [application/x-gzip]
正在保存至: “sendEmail-v1.56.tar.gz”

100%[=========================================================================================================================================================================>] 29,740       126K/s   in 0.2s    

2017-06-08 05:07:07 (126 KB/s) - 已保存 “sendEmail-v1.56.tar.gz” [29740/29740])

[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  sendEmail-v1.56.tar.gz  zabbix-release-2.2-1.el6.noarch.rpm
[[email protected] ~]# 

安装:

解压文件

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

copy--sendEmail到/usr/local/bin/并赋予权限

[[email protected] ~]# cd sendEmail-v1.56
[[email protected] sendEmail-v1.56]# ls
CHANGELOG  README  README-BR.txt  sendEmail  sendEmail.pl  TODO
[[email protected] sendEmail-v1.56]# cp sendEmail /usr/local/bin
[[email protected] sendEmail-v1.56]# cd /usr/local/bin/
[[email protected] bin]# ls
sendEmail
[[email protected] bin]# chmod 755 sendEmail

sendEmail命令选项:

创建zabbix服务器端发送邮件脚本

修改/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

修改后重启zabbix server

[[email protected] zabbix]# service zabbix-server restart
Shutting down Zabbix server: [确定]
Starting Zabbix server: [确定]
[[email protected] zabbix]# 

创建发送邮件脚本

[[email protected] alertscripts]# vi SendEmail.sh

# Email:
#!/bin/bash
#
# Filename:    SendEmail.sh
# Revision:    1.0
# Date:        2017/06/07
# Author:      wangxb
# Email:
# Description: zabbix邮件告警脚本
# Notes:       使用sendEmail
#
# 脚本的日志文件
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/bin/sendEmail‘
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] alertscripts]# cd /tmp/
[[email protected] tmp]# mkdir Email.log
[[email protected] tmp]# ll
总用量 64
drwxr-xr-x  2 root root  4096 6月   8 05:43 Email.log
[[email protected] tmp]# chown zabbix:zabbix Email.log
[[email protected] tmp]# chown zabbix:zabbix /etc/zabbix/alertscripts/SendEmail.sh
[[email protected] tmp]# chmod -x /etc/zabbix/alertscripts/SendEmail.sh
[[email protected] tmp]# chown -R zabbix:zabbix /etc/zabbix/alertscripts/

测试发送邮件

[[email protected] ~]# bash etc/zabbix/alertscripts/SendEmail.sh [email protected] "测试邮件标题" "测试邮件内容"
bash: etc/zabbix/alertscripts/SendEmail.sh: 没有那个文件或目录
[[email protected] ~]# bash /etc/zabbix/alertscripts/SendEmail.sh [email protected] "测试邮件标题" "测试邮件内容"
/etc/zabbix/alertscripts/SendEmail.sh: line 13: /tmp/Email.log: 是一个目录
/etc/zabbix/alertscripts/SendEmail.sh: line 14: /tmp/Email.log: 是一个目录
+ /usr/local/bin/sendEmail -s smtp.163.com -xu [email protected]163.com -xp 123456 -f [email protected]163.com -t 115231245@qq.com -u $‘\262\342\312\324\323\312\274\376\261\352\314\342‘ -m $‘\262\342\312\324\323\312\274\376\304\332\310\335‘ -o message-content-type=text -o message-charset=gb2312
Jun 08 05:53:14 localhost sendEmail[2185]: Email was sent successfully!
时间: 2024-10-12 20:25:02

CentOS---zabbix使用sendEamil发送报警的相关文章

zabbix设置邮件发送报警

找到QQ邮件服务器地址 打开QQ邮箱-设置-账户 开启POP3/SMTP服务 生成授权码,记住这个授权码 找到QQ的SMTP服务器地址 配置发件人Email信息 管理-报警媒介类型-Email 填写相关信息如下 配置收件人Email信息 选择用户-Admin 选择报警媒介-添加 启用报警 配置-动作-Report problems to Zabbix administrators 配置相关报警信息 启用报警 自定义报警信息 发送警告 默认标题: 故障{TRIGGER.STATUS},服务器:{H

使用Zabbix服务端本地邮箱账号发送报警邮件的部署记录

邮件报警有两种情况:1)Zabbix服务端只是单纯的发送报警邮件到指定邮箱,发送报警邮件的这个邮箱账号是Zabbix服务端的本地邮箱账号(例如:[email protected]),只能发送,不能接收外部邮件.2)使用一个可以在互联网上正常收发邮件的邮箱账号(例如:[email protected]),通过在Zabbix服务端中设置,使其能够发送报警邮件到指定邮箱.上面第2中使用外部邮箱发送报警邮件之前已经介绍了:分布式监控系统Zabbix-3.0.3-完整安装记录(5)-邮件报警部署.下面说下

Zabbix用Email介质SMTP发送报警

Zabbix报警大部分使用的是脚本报警,这次我们用SMTP方式发送报警. 在zabbix上设置好了EMail账号还不行,还要在系统里装发送邮件的服务,我们这里用SendMail. 环境: CentOS Linux release 7.1.1503 (Core) 1.检查系统是否安装SendMail. #rpm -qa | grep Sendmail 返回值为空,说明没有安装过. 2.用yum list sedmail看看都需要安装哪些包 #yum list sedmail 3.安装Sendmai

zabbix调用telegram机器人发送报警消息

众所周知,telegram的机器人还是非常好用,而且是免费的,所以这就给监控系统发送报警消息提供了一个非常好的渠道,相信很多朋友已经垂涎三尺了,所以废话不多说,直奔主题吧!br/>?zabbix系统基础配置部分此处就直接跳过了,如果需求请参阅http://blog.51cto.com/183530300/category8.html?此处我们直接从创建机器人开始,当然创建机器人的前提是你要先有一个telegram账号,接下来是在telegram客户端上的操作了第一步:在搜索栏里直接使用@BotF

关于zabbix发送报警邮件25端口不通问题的解决方案

写这篇文章的目的不是别的,今年在阿里云的centos7上安装了zabbix3以上版本,我可以直接说明不是zabbix最新版本,安装路上根据之前总结文档一顿操作,ok,一切正常,zabbix服务器正常启动,界面也正常,直至报警调试自带mail报警,发现并没有收到邮件. 于是手动测试邮件发送,发现失败了,....失败了.然后各种百度找资料,一瞬间发现很多文档,最多的就说阿里云禁用了邮件服务器的25端口,而mail默认走25.            既然发现问题,那就是解决问题,于是各种尝试改配置文件

[Zabbix] 如何实现邮件报警通知以及免费短信报警通知

 前提条件: (1) zabbix服务器端已经成功安装并且运行. (2) zabbix客户端已经成功建立并且运行. 1 下载并且安装msmtp软件 Wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download   tar jxvf msmtp-1.4.32.tar.bz2 cd msmtp-1.4.32 ./configure--prefix=/usr/local/msmtp

[Zabbix] 怎样实现邮件报警通知以及免费短信报警通知

 前提条件: (1) zabbixserver端已经安装成功而且执行. (2) zabbixclient已经成功建立而且执行. 1 下载而且安装msmtp软件 Wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download   tar jxvf msmtp-1.4.32.tar.bz2 cd msmtp-1.4.32 ./configure--prefix=/usr/local

zabbix 设置微信企业号报警

一.发现问题 Zabbix之前一直用的是邮件报警,因为现在邮件不方便经常查看,所以今天决定试一试使用zabbix来发送报警. 二.分析问题 1.要用微信企业号发送告警,首先要申请微信企业号. 2.其次要写发送告警的脚本. 3.最后就是设置zabbix指定哪些人可以接收到信息. 三.解决问题 1. 申请并设置企业号, 微信企业号申请地址:https://qy.weixin.qq.com/ 如何申请企业号及配置可以参数下面链接: http://www.cnyunwei.com/thread-2959

zabbix之企业微信报警通知

一.背景介绍: 起初使用邮件报警,接收效果一直不好,需要打开邮箱才看到报警邮件.后来使用微信企业公众号,方便,省事,接收及时,可以做到第一时间相应.现在微信企业公众号更新成企业微信了.发送报警的方式有稍微改变.之前借用别人的脚本,密密麻麻.借此机会,自己写了个脚本与之分享. 二.实现步骤: 1.申请企业微信号 2.创建告警脚本 3.设置web管理界面触发脚本. 4.修改zabbix_server端配置文件.并重启 5.测试报警触发功能 6.完成 三.实施部署: 完成第一步:申请企业微信号: 地址