zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控

zabbix添加对自定义无规则日志文件的监控


项目背景及思路:
zabbix自带有针对日志文件的监控,自带的监控只能监控到指定文件或者正则匹配的固定日志文件,但当需要监控的文件名没有规律的时候自带监控就不适用了

此次需要监控关键的esb企业总线系统日志,当tail -f esb日志出现大量failture的时候就是业务可能出现故障的时候,需要触发警报


具体步骤:

1.修改zabbix-agent客户端配置:
a.visudo修改配置

添加zabbix用户的sudo权限
# 添加如下这行
zabbix ALL=(ALL) NOPASSWD: ALL

b.注释掉如下这行
#Defaults    requiretty

③修改客户端配置
/etc/zabbix/zabbix_agentd.conf
UserParameter=esb_status,sudo /bin/bash /usr/local/zabbix-agent/scripts/esb_status.sh

2.在被监控的zabbix-agent端添加需要监控的脚本
vim /usr/local/zabbix-agent/scripts/esb_status.sh

#!/bin/bash
# 日志文件目录
path=/home/yunva/log/esbE001
# 找到最新的日志文件名 ls -t 按照时间排序,最新的在上面
esb_file=`ls -t "${path}" | head -1`

fail_count=`tail -n 200 $path/${esb_file} |grep 'failure'|wc -l`
echo $fail_count

添加脚本的执行权限
chmod +x  /usr/local/zabbix-agent/scripts/esb_status.sh

3.zabbix-server端的配置
①添加items


②添加graphs趋势图


③添加触发器,当失败次数过半的时候触发报警

Name :

esb failure gt 100

Expression:
{1.1.1.1:esb_status.last(0)}>100


报警





posted @ 2017-03-15 19:13  reblue520  阅读(591)  评论(0编辑  收藏  举报