Zabbix监控 之sendEmail脚本邮件报警配置【5】

本次zabbix邮件报警时通过sendEmail这一个轻量级的命令行的smtp电子邮件客户端,使用脚本的方式实现邮件报警。

此次使用的Linux发行版是CentOS 6.5,zabbix版本为3.0.3

Zabbix监控之不发送邮件异常【附属】

一、下载sendEmail

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

sendEmail安装方法:


1

2

3


shell# tar xvzf sendEmail-v1.56.tar.gz

shell# cp sendEmail-v1.56/sendEmail /usr/local/bin/

shell# chmod 755 /usr/local/bin/sendEmail

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

假如zabbix 配置目录位置在/etc/zabbix/

1.创建/etc/zabbix/alertscripts目录

shell# mkdir -p /etc/zabbix/alertscripts

shell# chown -R zabbix:zabbix /etc/zabbix/alertscripts

2.修改邮件脚本配置目录/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

修改后重启zabbix server。

三、 创建发送邮件脚本

#!/bin/bash
# 脚本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1

SMTP_server=‘smtp.163.com‘    # SMTP服务器,变量值需要自行修改
username=‘[email protected]‘     # 用户名,变量值需要自行修改
password=‘xxxxxx‘             # 密码,变量值需要自行修改
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 "$messag
e_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
shell# touch /tmp/Email.log
shell# chown zabbix:zabbix /tmp/Email.log
shell# chown zabbix:zabbix /etc/zabbix/alertscripts/SendEmail.sh
shell# chmod +x /etc/zabbix/alertscripts/SendEmail.sh
=================================================================
shell# touch /tmp/Email.log
shell# chown zabbix:zabbix /tmp/Email.log
shell# chown zabbix:zabbix /etc/zabbix/alertscripts/SendEmail.sh
shell# chmod +x /etc/zabbix/alertscripts/SendEmail.sh

测试发送邮件

shell# /etc/zabbix/alertscripts/SendEmail.sh [email protected] "测试邮件标题" "测试邮件内容 。

四、WEB页面报警配置

点击管理->报警媒介类型 点击最右边的创建媒体类型

注:安装zabbix 3.0之后,需要填写这3个参数,2.x不需要

ALERT注意别写错

点击Admin用户,添加报警媒介

选择sendEmail.sh脚本,输入收件人的邮箱地址

点击用户群组,点击zabbix administrator后面的调用模式,点击一下,就启用了

点击Zabbix用户群组->权限,全部选择添加

点击配置->动作 点击默认的动作

点击配置->动作->动作 设置邮件发送格式

默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件ID:{EVENT.ID}

已启用:打钩

注:默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户   和zabbix administrator组。

假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送

间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。

测试邮件报警

随便添加一台不存在的主机,几分钟后显示红色状态

再过几分钟后,收到了邮件,说明设置成功

时间: 2024-12-25 22:44:16

Zabbix监控 之sendEmail脚本邮件报警配置【5】的相关文章

zabbix监控日志关键字并邮件报警到指定相关人

版本:zabbix2.4.4 要求:监控apache错误日志文件,一出现error关键字就报警 报警邮件通知到指定人知会. 服务器和客户端安装,这里就不说了,重点说下配置, 客户端配置: [email protected]:/server/zabbix_agent/etc# vi zabbix_agentd.conf Server=10.52.35.70 ServerActive=10.52.35.70      #要用到ServerActive Hostname=Web1 配置后重启下客户端

yum搭建nagios监控linux&&window及邮件报警

本文是小弟整合几位大神的文章,见笑@@ Linux利用sendmail和fetion发送报警通知 nagios监控windows主机 && linux主机 CentOS 5/6.X 使用 EPEL YUM源: 实验环境: 两台64位的centos-6.6 一台window-server-2003 安装网络yum源: centos5.x--32位 [[email protected] ~]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-r

zabbix监控windows日志脚本

zabbix监控windows日志脚本     脚本用于监控windows服务器上日志,查看日志文件的末尾N行,如果N行中包含某字段,则输出0,否则输出1,然后再zabbix的配置文件空定义kye,进行监控. 文本文件的换行符是"\n" 编辑脚本log.py import sys import re def last_lines(filename, lines = 1):     lines = int(lines)     block_size = 1024     block = 

zabbix监控——zabbix邮件报警配置

前面带着大家从搭建zabbix服务器开始一直到触发器设计完毕,这一系统本身已经可以运作起来了,只是需要有一个便捷的渠道及时告诉我们运维人员去处理一些存在问题,这里就需要我们去配置一下zabbix所提供的报警机制,zabbix的报警支持报警升级机制,这对我们运维人员来说是非常有用的,我们在让zabbix通知我们相关人员的时候就可以做一个简单的规划了,比如说前5次报警直接通知运维工程师,如果5次报警后报警问题没有得到修复,第6次报警就直接通知运维主管:或者我们可以让zabbix第一步执行对应脚本进行

Zabbix监控客户端及实现邮件、微信报警

博文大纲:一.安装Zabbix agent端二.登录web界面添加agent主机三.Zabbix监控MySQL数据库四.配置邮件报警五.配置企业微信报警 注:本文是基于博文:部署zabbix监控服务器 的环境. 这篇博文用到的所有软件都可以在这个链接获得:Zabbix 软件包 一.安装Zabbix agent端 这里我启动了一台IP为192.168.20.3的服务器,用于充当agent端. [[email protected] ~]# tar zxf zabbix-3.2.1.tar.gz -C

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监控利用Python脚本发邮件

最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街-- 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录vi SendAlertEmail.sh #编辑,添加以下代码#!/bin/shecho "$3" | mail -s "$2" $1:wq! #保存退出chown zabbix.zabbix /u

CentOS7.3下Zabbix3.5之邮件报警配置

一.邮件客户端以及脚本相关配置 1.安装sendmail,一般操作系统默认安装了安装 yum install sendmail 启动 service sendmail start 设置开机启动 chkconfig sendmail on 2.安装邮件发送工具mailx,一般操作系统默认安装了 yum install mailx -y 3.设置发送邮件的email,用于邮件发送vim  /etc/mail.rc #一般公司会有专门的报警发件邮箱,如果没有,可以找公司申请 set [email pr

zabbix详解:(三)添加邮件告警配置

大家应该心理有底,做监控不是只为了看服务器状态,虽然那也是监控的目的之一,但绝对不是全部,大家做监控的目的肯定是想预警,甚至是出问题就告警,毫无疑问zabbix也是支持告警规则的,现在来介绍传统的添加邮件告警,后面还会介绍微信告警. 添加邮件告警配置: 关于zabbix邮件告警的原理,其实是调用脚本,然后脚本通过邮件功能来向外发邮件,后面介绍的微信告警也是通过脚本调用微信接口来做的. 所以,告警的关键,就是脚本了,其实zabbix邮件告警这个功能很多文章有写,也有很多脚本可以参考,只是大部分版本