zabbix发送报警的脚本
zabbix报警媒介:自定义脚本Custom alertscripts
邮件报警准备工作:安装sendEmail
zabbix-server 的 配置文件 /etc/zabbix/zabbix_server.conf 中的参数 “AlertScriptsPath=/usr/lib/zabbix/alertscripts” 指zabbix-server可以调用的脚本
编写zabbix发送报警的脚本:[root@localhost data]# vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash
SMTP_server='smtp.test.com' # SMTP服务器
username='yunwei@test.com' # 发件人邮箱用户名
password='qweryyui' # 发件人邮箱密码
from_email_address='yunwei@test.com' # 发件人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- << EOF
$message_subject_utf8
EOF`
[ $? -eq ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 转换邮件内容为GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF- << EOF
$message_body_utf8
EOF`
[ $? -eq ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 发送邮件
sendEmail='/usr/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$messa
ge_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log
zabbix媒介类型包括mail、sms、自定义脚本,我们用的最多的还是脚本媒介,再次我们就不讲另外两个媒介了。当事件通知到脚本,会传递三个参数它,分别为$1(发送给谁) $2(标题) $3(内容)。
媒介配置
点击administrator->media types->create media types

zabbix媒介配置
- Name:触发器名称
- Type: 介质类型
- script name:脚本名称(需要先定义AlertScriptsPath,mail.sh放在这个目录下,写绝对路径没用)
- Enabled:状态
配置AlertScriptsPath
# mkdir /usr/local/zabbix/alertscripts
# vim /usr/local/zabbix/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/alertscripts 监控脚本路径这样设置一条记录。
脚本编写
# cd /usr/local/zabbix/alertscripts
# vi mail.sh
#!/bin/sh
to=$
subject=$
body=$
#/usr/local/bin/sendEmail -f root@test.com -t "$to" -s mail.test.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu root@test.com -x root -m "$body" >>/tmp/sendmail.log
注意脚本设置号以后要设置权限,否则无法执行:
chown zabbix.zabbix mail.sh
chmod +x mail.sh
用户媒介
给用户指定媒介:
*点击Administration→Users->打开用户属性表单->在Media tab点击Add

zabbix媒介配置
参数介绍
- Type: 选择媒介类型,这边选自定义媒介
- Send to:发送到哪,例如705754153@qq.com,他就是脚本中的$1
- When active:报警时间限定,我们设置24小时不间断监控。
- Use if severity:严重性类型,只接收指定的类型,不想接受的,那我不勾选即可。
- Status:媒介状态Enabled – 启用中.Disabled – 已禁用.
zabbix发送报警的脚本的更多相关文章
- 使用python脚本配置zabbix发送报警邮件
#前提得在zabbix_server配置文件中配置触发脚本的目录,例如,我配置的在/usr/local/zabbix/server/scripts目录下 编写python脚本如下 因为我的服务器在腾讯 ...
- zabbix邮件报警通过脚本来发送邮件
zabbix默认邮件报警会将各个报警接收人单独发送邮件,为了使邮件能以群发的方式统一一封邮件发送所有接收人,需要改成脚本的形式: sendemail.py: #!/usr/bin/python imp ...
- zabbix 发送报警邮件
- Zabbix邮件报警-->Script
Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...
- Zabbix邮件报警-->Email
Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...
- Nagios+msn+fetion自定义时间发送报警消息
转自http://blog.csdn.net/deccmtd/article/details/6063467 Nagios+fetion发送手机报警使用了几个月.每次报警短信来都要看下手机.感觉麻烦. ...
- 通过脚本发送zabbix微信报警
实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...
- 通过脚本发送zabbix邮件报警
zabbix原生的报警媒介类型中,邮件报警是我们常用的方式.当我们在CentOS6上面安装zabbix3.0并配置邮件报警的时候,在邮件配置正确的前提下,不管触发器如何触发,邮件总是发送不出去,但是在 ...
- zabbix配置发送报警邮件
配置邮件分为两种情况: 第一种:使用远端邮件服务器发送报警邮件 Linux系统版本:CentOS6.5-64 下载mailx: http://nchc.dl.sourceforge.net/proje ...
随机推荐
- 定时刷新指定div层
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 下载excle文件之工具
创建万能的工具类,已备用 ExcelData.java 存放文件数据 package com.ulic.gis.dataCenter.util; import java.io.Serializable ...
- python MySQLdb 如何设置读超时read_timeout
在python中,经常用到 MySQLdb操作MySQL数据库. 在实现上,MySQLdb并不是纯python的,而是封装了MySQL C API库_mysql. 对于MySQLdb是否支持read_ ...
- 【flask】使用类组织配置-使用工厂函数创建程序实例
[需求] 使用配置类管理flask管理测试环境, 通过1个参数即可控制Flask是运行develpment环境还是production环境(数据库配置,邮件配置也要根据环境的变化而变化) [思路] 1 ...
- CICD - 持续集成与持续交付
持续集成与持续交付是软件开发和交付中的实践.我们项目中一直在践行持续集成(CI:Continuous Integration):持续交付(CD:Continuous Delivery)未能达到理想状态 ...
- Nova 启动虚拟机流程解析
目录 文章目录 目录 前言 从请求说起 nova-api service 阶段 前言 Nova 启动虚拟机的东西太多,持续更新- 从请求说起 无论是通过 Dashboard 还是 CLI 启动一个虚拟 ...
- Selenium 2自动化测试实战2(数组与字典)
一.数组与字典 1.数组 数组用方括号([])表示,里面的每一项用逗号(,)隔开 Prthon允许在数组里面任意地放置数字或字符串.需要注意的是,数组下标是从0开始的,所以,lists[0]会输出数组 ...
- django QueryDict 类型
如果没有值,返回默认值的写法 允许有多个同名的值,但是需要用getlist 访问. 如果用常规的访问只能访问到最后一个值.
- 关于vtkCommand的各种事件的解释
superclass for callback/observer methods vtkCommand is an implementation of the observer/command des ...
- Unity中的动画系统和Timeline(3) 混合树和动画匹配
混合树 前面我们通过在Animation界面添加单独的动作来控制动画,这样做比较麻烦,每个单独的属性,比如站立,奔跑等,都需要单独的代码来控制.现在我们可以通过使用混合树,其基本思想是将相近的动画混合 ...