zabbix配置邮件告警

添加自定义监控项目

需求:如果需要监控业务中一些比较复杂的数据,而zabbix不可能给提供这种监控项,那么就需要自己写出监控数据的脚本或者其他语言的程序来获取这个监控值,然后通过zabbix_agentd发送给zabbix_server端处理
编辑一个获取数据的命令或者脚本,比如获取并发的处理链接数,并给予脚本权限,让zabbix_agentd有权限去执行这个脚本获取数据

[[email protected] ~]# vim /usr/local/sbin/estab.sh

#!/bin/bash
netstat -ant |grep ‘:80‘ |grep -c ESTABLISHED
[[email protected] ~]# chmod 755 /usr/local/sbin/estab.sh 

修改zabbix_agentd配置文件,打开自定义配置的参数,然后指定执行的脚本或程序的监控项、参数和脚本路径就可以了

[[email protected] ~]# vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
 UnsafeUserParameters=1
 UserParameter=estab.count[*],/usr/local/sbin/estab.sh

在zabbix_server的web页面上添加该定义参数

将zabbix_agentd中定义好的脚本路径前的监控项名称填到这里,zabbix_agentd后的[*]表示指定脚本的参数,如果没有参数可以省略不写。在添加过程中结合所监控的数值给予同样的数值类型,更新时间和数据保留时间也是可以由自己定义的

查看监控产生的数据,由于测试的没有访问流量,所以监控的这个请求状态ESTABLISHED会一直是0,但是这也并不是没有数据的

zabbix使用sendmail实现故障告警

配置邮件发送

配置sendmail,使用sendmail服务来发送邮件,在配置文件中写入smtp邮件服务器登入密码,这个密码是独立密码,并非是邮箱登录密码。需要在邮箱设置的pop3功能里开启

[[email protected] ~]# vim /etc/mail.rc
set from=*****@163.com smtp=smtp.163.com

set smtp-auth-user=*******@163.com smtp-auth-password=*****

set smtp-auth=login

配置接下来在zabbix上配置发送邮件
首先进入zabbix自定义脚本的存放目录下,创建发送邮件的脚本

[[email protected] ~]# cd /usr/local/zabbix/zabbix/share/zabbix/alertscripts/
[[email protected] alertscripts]# touch history.txt
[[email protected] alertscripts]# chmod 777 history.txt
[[email protected] alertscripts]# cat sendmail.sh
#!/bin/bash
export LANG=zh_CN.UTF-8
to=$1
subject=$2
body=$3
FILE=/usr/local/zabbix/share/zabbix/alertscripts/history.txt
echo "$3" >$FILE
echo `cat $FILE |tr ‘\r‘ ‘\n‘ |grep ^$ -v |tr ‘\r‘ ‘\n‘` |mail -s "$2" $1

把脚本给予用户所属主和可执行权限,这样zabbix才能够去执行发送邮件的动作

[[email protected] ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
[[email protected] ~]# chmod +x  /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

在zabbix中加入报警方式,这里要填写发送报警邮件的脚本名和报警内容格式

{ALERT.SENDTO}     <----第一项
{ALERT.SUBJECT}    <----第二项
{ALERT.MESSAGE}   <----第三项

设置收件人邮箱

配置给zabbix系统中的哪个用户或者用户组发送告警邮件,需要配置邮件接收人的邮箱地址
定义用户监控报警类型的媒介,并在配置中选择shell邮件发送告警信息以及添加收件人邮件地址





配置触发动作

?完成收件人邮箱配置后,还需要定义报警出发的动作,有了这个动作才能在报警触发时发送告警邮件信息
添加告警触发值,到达或超过这个数值会启动发送告警邮件

定义发送邮件的内容和发送给哪些管理用户(用户配置了告警邮件地址的接收人信息)

报警邮件内容参考,可以应用到你的报警信息内容当中去,按照自己的报警项进行修改

异常{TRIGGER.STATUS},服务器:{HOSTNAME1}-: {TRIGGER.NAME}警告! ? ?  <----------这是邮件标题

告警主机IP地址:{HOST.CONN} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?                                     ? ? ? <----------这是邮件内容
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
服务器网络中断

配置完成后必须点击添加按钮才能成功保存,否则会无法保存并且会清空这些配置

配置给收件人发送恢复告警的信息

恢复的邮件信息内容参考,可应用到自己的邮件告警中,按需修改

正常{TRIGGER.STATUS},服务器:{HOSTNAME1}-: {TRIGGER.NAME}恢复 ? ?  <----------这是邮件标题

告警主机IP地址:{HOST.CONN} ? ? ? ? ? ? ? ? ? ? ? ? ?                                    ? ? ? ? ? ?  <----------这是邮件内容
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
服务器网络已恢复

确认下添加的告警配置的触发邮件告警的动作

测试邮件告警

首先在linux服务器中测试mail的发送邮件的功能

[[email protected] ~]# echo "ceshi" | mail -s "ceshi" [email protected]

成功接收到测试邮件

查看监控主机的触发器,也可以自定义创建触发器应用,这里我直接关闭被监控主机,让监控有一些警告信息发生
这里在个别主机中的触发器里创建一个新的触发器

创建好触发器后让该触发器触发警告,然后启动执行邮件脚本发生告警

注意的是在配置动作的时候要指定发送给报警邮件的人(邮件地址),否则会造成无法发送邮件,详情见【配置触发动作】
这里我测试成功,使用收件人邮箱成功接收到邮件信息

解决邮件内容空的问题

首先进入脚本保存目录,创建脚本的输出内容文件并给予可读可写权限。在脚本文件中指定该文件的路径,让脚本读取该文件内容,读取内容以执行发送邮件。

这也在上面步骤中有提到,这里配置时容易遗漏

[[email protected] ~]# cd /usr/local/zabbix/zabbix/share/zabbix/alertscripts/
[[email protected] alertscripts]# touch history.txt
[[email protected] alertscripts]# chmod 777 history.txt
[[email protected] alertscripts]# cat sendmail.sh
#!/bin/bash
export LANG=zh_CN.UTF-8
to=$1
subject=$2
body=$3
FILE=/usr/local/zabbix/share/zabbix/alertscripts/history.txt
echo "$3" >$FILE
echo `cat $FILE |tr ‘\r‘ ‘\n‘ |grep ^$ -v |tr ‘\r‘ ‘\n‘` |mail -s "$2" $1

原文地址:http://blog.51cto.com/8844414/2175297

时间: 2024-10-31 20:08:03

zabbix配置邮件告警的相关文章

3.3 zabbix 配置邮件告警

设置触发器的目的是为了让监控的服务实现告警,那告警如何实现呢,下面来配置一下邮件告警.发邮件是服务器通过自己的sendmail服务发出的,有时候如果配置不合适或者服务没有启动,我们是发不出邮件的. 安装sendmail [[email protected] ~]# yum install -y mailx sendmail [[email protected] ~]# /etc/init.d/sendmail start 正在启动 sendmail:                       

Linux监控和安全运维 2.0 zabbix配置邮件告警

1.发邮件启动postfix /etc/init.d/postfix start mail -s "test" 836503270@qq.com < /etc/inittab mailq 查看发送结果 2.配置发邮件文件 mkdir -p /home/zabbix/bin vim /home/zabbix/bin/baojing.sh #! /bin/bash echo "$3" |/bin/mail -s "$2" $1 chmod +x

zabbix的添加自定义监控项目、配置邮件告警、测试告警

添加自定义监控项目 1. 需求:监控某台web服务器的80端口并发连接数,并设置图形. 2.分析需求: 在zabbix监控中心创建自定义监控项目; 针对该监控项目以图形展现; 3. 具体操作步骤: 在zabbix-agent端编辑自定义脚本 [[email protected] ~]# vim /usr/local/sbin/estab.sh 编辑脚本内容如下: #!/bin/bash ##获取80端口并发连接数 netstat -ant |grep ':80 ' |grep -c ESTABL

zabbix入门之配置邮件告警

zabbix入门之配置邮件告警 邮件环境搭建 使用本地邮箱账号发送邮件 zabbix-server 端安装 mailx .sendmail或者psotfix 服务,系统默认安装好了postfix #安装sendmail,并加入开机自启. yum -y install sendmail systemctl start sendmail systemctl enable sendmail #开启postfix并加入开机自启. systemctl start postfix systemctl ena

2.0-zabbix配置邮件告警

sendmail和postfix都可以发送邮件,前提是服务已经启动. 设置触发器的目的是为了让监控的服务实现告警, 那告警如何告呢, 下面我们来配置一下邮件告警.发邮件是服务器通过自己的 sendmail 服务发出的,有时候如果配置不合适或者服务没有启动,我们是发不出邮件的.所以,要先测试一下. 注意:是在zabbix服务端做以下操作 # yum install -y sendmail # /etc/init.d/sendmail start # echo "test mail" |m

zabbix系统邮件告警Python脚本

zabbix系统邮件告警配置有很多方式,如系统自带的mail,还有zabbix+msmtp+mutt,但是使用Python脚本应该来说还是一个非常简捷有效的方式.主要有如下步骤: 1.设置zabbix_server.conf文件 AlterScript = /usr/local/zabbix/share/zabbix/alterscript 2.建立告警脚本 cd /usr/local/zabbix/share/zabbix/alterscript/ sudo vim sendEmail.sh

19.12添加自定义监控项目19.13/19.14 配置邮件告警19.15 测试告警19.16 不发邮件的问题处理

19.12 添加自定义监控项目 19.13/19.14 配置邮件告警 19.15 测试告警 19.16 不发邮件的问题处理 19.12 添加自定义监控项目 zabbix的监控项目是在模板里面体现,但是有时候就会有些个性化的需求:某一个业务的数据,例如:运营人员想知道网站会员注册量,会员活跃度:实际上,这些数据,都可以通过数据库里面的表的数字来体现,但是zabbix模板是不可能提供那么相信的监控项目:遇到这种情况,就需要通过编程工具,写成脚本,最后通过zabbix监控项目,形成图表,就可以实现:

Linux监控(添加自定义监控项,配置邮件告警)

一.添加自定义监控项 需求:监控某台web的80端口连接数,并出图. 步骤: 1):zabbix监控中心创建监控项目 2):针对该监控项目以图形展现 第一步(需要到客户端定义脚本) [[email protected] ~]# vim /usr/local/sbin/estab.sh #!/bin/bash ##获取80端口并发连接数 netstat -ant |grep ':80 ' |grep -c ESTABLISHED [[email protected] ~]# chmod 755 /

linux监控平台搭建(3)添加自定义监控项目、配置邮件告警、测试警报、不发邮件的问题处理

添加自定义监控项目 很多的监控项,我们都是在配置的模板中设置的,但是模板的选择是不能完全满足到我们生产中 的实际需求.所以我们可以自定义监控项目,通过编写Shell脚本或者python脚本,在脚本中获取数据库中所需业务的数,然后在通过在监控项里添加这个脚本,将脚本获取到的数目以图表的形势展现.这样就有利于运维人员及时发现和分析问题. 需求: 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目:2)针对该监控项目以图形展现 对于第一步,需要到客户端定义脚本 1