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

报警

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

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

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

  2. shell脚本切割tomcat的日志文件

    鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...

  3. shell脚本----周期压缩备份日志文件

    一.日志文件样式 二.目标 1.备份压缩.log结尾&&时间样式为“date +%Y%m%d”的日志文件(如:20170912.20160311等) 2.可指定压缩范围(N天前至当天) ...

  4. Shell脚本调用ftp上传文件

    Shell脚本调用ftp上传文件 1.脚本如下 ftp -n<<! open x.x.x.x ###x.x.x.x为ftp地址 user username password ###user ...

  5. shell脚本添加实例化参数

    通过shell脚本给GMP系统添加一个环境变量参数dateSwitchTimeInterval 1. insert.sh #!/bin/sh . ~/apphome/aic_export.sh #连接 ...

  6. 使用shell脚本添加用户

    该文演示如何使用shell脚本完成添加用户,首先进行一个判断,如果用户存在,提示该用户已经存在,否则进行添加新的用户. 示例代码如下: #!/bin/bash grep_user() { R=`gre ...

  7. 利用shell脚本添加环境变量

    在shell脚本设置了环境变量,如export LIBRARY_PATH=./lib/,执行了此脚本后, 在执行生成的可执行文件,提示错误 error while loading shared lib ...

  8. 使用shell脚本build并创建ipa文件(转)

    前言 由于项目引入了敏捷开发,需要每天build出一个ipa供QA测试.此前是使用Xcode先achive出一个文件,再在 organizer->achives里发布ipa,一直感觉也没啥不方便 ...

  9. 采用shell脚本定时清理Tomcat日志

    1 Shell脚本案例 删除超过30天的日志文件 #!/bin/bash log_path=/mnt/software/apache-tomcat-.M22/logs d=`date +%Y-%m-% ...

随机推荐

  1. Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件

    原文 http://blog.csdn.net/bboyfeiyu/article/details/39253051       前言 下 拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采 ...

  2. A1055. The World's Richest

    Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...

  3. ORACLE常用性能监控SQL

    Temp表空间上进程的查询 select a.tablespace, b.sid, b.serial#, a.blocks,c.sql_text from v$sort_usage a,v$sessi ...

  4. mac 终端输入带空格的路径 cd

    mac 在终端如何进入名称带空格的目录? 后来找到原因,是因为要对空格转义或者输入“ ”或‘ ’,方案如下: 1. cd Appications/Android\Studio.app/sdk  这个好 ...

  5. (java保留n位小数)precise math function 北京信息科技大学第十届ACM程序设计竞赛 第2题

    precise math function Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Othe ...

  6. Date对象常用方法

    年月日: var oDate = new Date() //年 oDate.getFullYear(); //月 返回的月份要+1才正常 oDate.getMonth()+1: //日 oDate.g ...

  7. Python基础【day01】:python 2和3区别(四)

    许多Python初学者都会问:我应该学习哪个版本的Python.对于这个问题,我的回答通常是“先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本.等学得差不多了,再 ...

  8. python---redis缓存页面实现

    import tornado.web from controllers.BaseController import BaseRequestHandler import redis pool = red ...

  9. src路径问题:./ 与 ../

    ./ :当前目录(相对路径) ../ :当前目录的父目录(相对路径) /:根目录(绝对路径) vue 中 @ 指向 src 文件夹: 在 build 文件夹下 webpack.base.conf.js ...

  10. git协同开发

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: [root@w ...