博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix配置邮件告警
阅读量:7076 次
发布时间:2019-06-28

本文共 3768 字,大约阅读时间需要 12 分钟。

添加自定义监控项目

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

编辑一个获取数据的命令或者脚本,比如获取并发的处理链接数,并给予脚本权限,让zabbix_agentd有权限去执行这个脚本获取数据

[root@localhost ~]# vim /usr/local/sbin/estab.sh#!/bin/bashnetstat -ant |grep ':80' |grep -c ESTABLISHED[root@localhost ~]# chmod 755 /usr/local/sbin/estab.sh

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

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

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

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

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

zabbix配置邮件告警

zabbix使用sendmail实现故障告警

配置邮件发送

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

[root@localhost ~]# vim /etc/mail.rcset from=*****@163.com smtp=smtp.163.comset smtp-auth-user=*******@163.com smtp-auth-password=*****set smtp-auth=login

配置接下来在zabbix上配置发送邮件

首先进入zabbix自定义脚本的存放目录下,创建发送邮件的脚本

[root@localhost ~]# cd /usr/local/zabbix/zabbix/share/zabbix/alertscripts/[root@localhost alertscripts]# touch history.txt[root@localhost alertscripts]# chmod 777 history.txt[root@localhost alertscripts]# cat sendmail.sh#!/bin/bashexport LANG=zh_CN.UTF-8to=$1subject=$2body=$3FILE=/usr/local/zabbix/share/zabbix/alertscripts/history.txtecho "$3" >$FILEecho `cat $FILE |tr '\r' '\n' |grep ^$ -v |tr '\r' '\n'` |mail -s "$2" $1

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

[root@localhost ~]# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh[root@localhost ~]# chmod +x  /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh

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

zabbix配置邮件告警

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

设置收件人邮箱

配置给zabbix系统中的哪个用户或者用户组发送告警邮件,需要配置邮件接收人的邮箱地址

定义用户监控报警类型的媒介,并在配置中选择shell邮件发送告警信息以及添加收件人邮件地址
zabbix配置邮件告警


zabbix配置邮件告警


zabbix配置邮件告警

配置触发动作

 完成收件人邮箱配置后,还需要定义报警出发的动作,有了这个动作才能在报警触发时发送告警邮件信息

添加告警触发值,到达或超过这个数值会启动发送告警邮件
zabbix配置邮件告警

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

zabbix配置邮件告警

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

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

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

zabbix配置邮件告警

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

zabbix配置邮件告警

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

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

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

zabbix配置邮件告警

测试邮件告警

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

[root@localhost ~]# echo "ceshi" | mail -s "ceshi" xiangchen@huaching.com

成功接收到测试邮件

zabbix配置邮件告警

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

这里在个别主机中的触发器里创建一个新的触发器
zabbix配置邮件告警

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

zabbix配置邮件告警

注意的是在配置动作的时候要指定发送给报警邮件的人(邮件地址),否则会造成无法发送邮件,详情见【配置触发动作】

这里我测试成功,使用收件人邮箱成功接收到邮件信息
zabbix配置邮件告警

解决邮件内容空的问题

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

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

[root@localhost ~]# cd /usr/local/zabbix/zabbix/share/zabbix/alertscripts/[root@localhost alertscripts]# touch history.txt[root@localhost alertscripts]# chmod 777 history.txt[root@localhost alertscripts]# cat sendmail.sh#!/bin/bashexport LANG=zh_CN.UTF-8to=$1subject=$2body=$3FILE=/usr/local/zabbix/share/zabbix/alertscripts/history.txtecho "$3" >$FILEecho `cat $FILE |tr '\r' '\n' |grep ^$ -v |tr '\r' '\n'` |mail -s "$2" $1

转载于:https://blog.51cto.com/8844414/2175297

你可能感兴趣的文章
OUTLOOK EXPRESS邮件以及邮件夹都没有了,请教!急!!!
查看>>
打印Excel文件,直向變成橫向,模向變成直向
查看>>
PHP 去掉换行符问题
查看>>
CentOS系统故障 | 一桩"血案"引发的容器存储驱动比较
查看>>
SAP-账号维护--登陆篇
查看>>
java空指针注意事项
查看>>
ansible shell模块:shell命令中带元字符、通配符的解决方法
查看>>
IT行业发展前景
查看>>
spider
查看>>
第一篇:linux系统应用管理之用户的切换
查看>>
优化代码,有效使用内存总结
查看>>
sqlplus使用总结
查看>>
linux下禁用触摸板方法集合(一)
查看>>
在SublimeText上配置ReactJS开发环境
查看>>
SmartWatch2开发-ControlSample分析
查看>>
CNZZ统计独立访客、ip、pv
查看>>
Java EE企业系统性能问题的原因和解决建议
查看>>
安装Redhat6.3系统(通过iLO4)
查看>>
SQL数据库如何存储?
查看>>
Vue 路由切换时页面内容没有重新加载
查看>>