说明:
本文讲如何通过shell脚本实现zabbix发送告警邮件,共有5步
1.设置mailx账号:是配置mailx的发信账号
2.zabbix服务器端编写邮件发送脚本:是增加zabbix的告警方式,增加通过sendmail.sh脚本方式调用mailx工具
3.zabbix后台配置shell邮件告警方式:是配置zabbix的告警方式,通过邮箱、短信、还是脚本方式等
4.配置用户的邮箱地址:是配置谁来接收告警邮件
5.定义action:是达到触发条件时,谁接收告警邮件、通过怎样的告警方式

所以如果有问题的话,只需要按照上面那样一步一步查询下来即可!

具体:
一、设置mailx账号,linux可以通过自带的mail实现发送外部smtp邮件,更具体的可以参考“linux使用mail发送外部smtp邮件
1. 设置mailx账号,建议用163的邮箱。如果换成QQ邮箱会出现无法发送,估计是QQ邮箱哪里做了限制

# cp /etc/mail.rc /etc/mailrc.bak.20150307
# cat /etc/mail.rc //内容如下
set from=123456@163.com
set smtp=smtp.163.com
set smtp-auth-user=123456
set smtp-auth-password=123456
set smtp-auth=login

2.测试发送邮件,看654321@coolnull.com有收到来自123456@163.com的邮件嘛

# echo  hello word | mail -s " title" 654321@coolnull.com

二、zabbix服务器端编写邮件发送脚本
1.修改zabbix_server.conf配置文件,指定zabbix

# vim /usr/local/zabbix/etc/zabbix_server.conf  //修改alert scripts为以下路径
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

2.创建邮件发送脚本

# vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh  //以下为脚本内容
#!/bin/bash
# use mailx to send mail
# 20141127 carl 1st
# PATH # echo "$3" | mail -s "$2" "$1"

3. 更改属主及赋予可执行权限

# chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
# chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

4. 测试邮件发送脚本

# /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh 654321@coolnull.com "测试邮件标题" "测试邮件内容"

三、zabbix后台配置shell邮件告警方式
Administration|Media types,进入告警方式配置界面,创建sendmail.sh告警方式,如下图

name随便写这里就写sendmail.sh;type选择scripts;Script name则输入上一步编写的脚本名称,即sendmail.sh

四、配置用户的邮箱地址
Administration|Users,进入用户配置界面,在”Media”选项卡中配置用户接收告警的邮箱地址。点击”Add”,在弹出的窗口中输入用户邮箱,见下图:

type选择刚刚上步创建的sendmail.sh;sendto则是要接收告警的邮件地址

五、定义action
Configuration|Action,Event source选择triggers,我这边是修改已有的Actions,具体如下

send to users选择admin用户(上一步刚定义了admin的邮件地址);send only to 则只选sendmail.sh告警方式。

zabbix邮件告警之 通过shell脚本发送告警的更多相关文章

  1. [置顶] zabbix通过lykchat发送告警信息配置过程

    本文介绍zabbix通过lykchat发送告警信息配置过程. lykchat代码在https://github.com/lykops/lykchat/ 步骤 编写脚本 1).查看服务器端的配置文件et ...

  2. SQL Server Alert发送告警邮件少了的原因

    最近突然发现我们部署在数据库上面的告警(Alert),当错误日志里面出现错误时,并不是每个错误日志都会发送邮件出来.如下所示,设置了告警"SQL Server Severity Event ...

  3. zabbix邮件报警功能的验证

    zabbix里面设置了很多监控项,有很多重要的监控预警,必须保证zabbix邮件报警功能正常,以确保那些告警信息能及时发送到运维人员的邮箱里. 所以需要每天8:30发一封确认zabbix邮件报警功能正 ...

  4. Linux学习-->如何通过Shell脚本实现发送邮件通知功能?

    1.安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件.不过mail命令是依赖sendmail的,所以我们 ...

  5. 通过脚本发送zabbix邮件报警

    zabbix原生的报警媒介类型中,邮件报警是我们常用的方式.当我们在CentOS6上面安装zabbix3.0并配置邮件报警的时候,在邮件配置正确的前提下,不管触发器如何触发,邮件总是发送不出去,但是在 ...

  6. zabbix 使用邮件发送告警信息

    配置系统mail命令,使其可以发送外网邮件 mail 命令配置 修改zabbix_server配置文件,使其可以执行告警脚本 [root@rexen etc]# vim /usr/local/zabb ...

  7. shell:实现linux服务器资源监控并发送告警邮件

    1.安装方式 wget http://10.8.225.126/wsmonitor/install.sh;sh install.sh test@test.com 2.install.sh #!/bin ...

  8. [转]Shell脚本中发送html邮件的方法

    <span "="">作为运维人员,免不了要编写一些监控脚本,并将监控结果及时的发送出来.那么通过邮件发送是比较常用的一种通知方式了.通常的,如果需要发送的内 ...

  9. Zabbix的通知功能以及自定义脚本告警

    本节内容: Zabbix的通知功能 定义接收告警的用户 定义Action Zabbix自定义脚本发送报警邮件 一.Zabbix的通知功能 在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改 ...

随机推荐

  1. Tensorflow进行POS词性标注NER实体识别 - 构建LSTM网络进行序列化标注

    http://blog.csdn.net/rockingdingo/article/details/55653279  Github下载完整代码 https://github.com/rockingd ...

  2. ASP入门(十三)-Server对象

    Server 对象用于处理服务器上的一些特殊任务,例如,创建组件实例.获取文件路径.执行ASP脚本文件等. Server 对象是体现 ASP 强大功能的一个对象,之前介绍的对象都是针对获取.请求以及简 ...

  3. 浅谈压缩感知(十五):感知矩阵之spark常数

    在压缩感知中,有一些用来评价感知矩阵(非测量矩阵)的指标,如常见的RIP等,除了RIP之外,spark常数也能够用来衡量能否成为合适的感知矩阵. 0.相关概念与符号 1.零空间条件NULL Space ...

  4. Android 原生 Android ActionBar

    本文内容 关于 ActionBar 必要条件 项目结构 环境 演示一:Action Bar 显示隐藏 演示二:Action Item 显示菜单选项 演示三:Action Home 启用"返回 ...

  5. android中实现自定义广播

    自定义广播分两个步骤:1.发送广播 2.接收广播 一.先看如何接收广播: 我使用的是Android Studio,File->New->Other->Broadcast Receiv ...

  6. 用javascript请求动态页url返回更新

    例如我们用Ajax请求一个动态页返回的信息,或一个图片验证码请求一个*.ashx页面,第一次请求没问题,而第二次请求时,不变化,为啥? 因为第二次及以后请求的url与第一次是一样的,所以服务器(或是浏 ...

  7. 通过adb命令在Android设备中执行Java命令, 并调用so文件。

    一.难点一:无法复制so文件到/system/lib或者/vendor/lib下,提示只读 解决方法: 2.使用android device monitor放库进入到 /system/lib出现只读权 ...

  8. 20个Linux防火墙[iptables]应用技巧[转]

    1.显示防火墙的状态 以root权限运行下面的命令: # iptables -L -n -v 参数说明: -L:列出规则. -v:显示详细信息.此选项会显示接口名称.规则选项和TOS掩码,以及封包和字 ...

  9. ES6学习笔记十一:编程风格技巧

    一:用let取代var 二:静态字符串一律使用单引号或反引号,不使用双引号.动态字符串(模版字符串)使用反引号. 三:解构赋值: 使用数组对变量赋值时,优先使用解构赋值: 函数的参数如果是对象的成员, ...

  10. Eclipse项目修改没有同步到编译的问题

    有两个原因: 1:项目有错,不能正常编译:查看是否有Jar包冲突.JDK版本问题等: 2:编译输出目录配置错误: Maven项目会修改项目编译时的输出路径到target文件夹,但是我们用Myelips ...