ELK+zabbix监控tomcat报警及错误日志--报警
Posted 倔强的冬瓜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ELK+zabbix监控tomcat报警及错误日志--报警相关的知识,希望对你有一定的参考价值。
环境:
1、zabbix已配置微信报警.
2、filebeat过滤收集tomcat指定日志文件内部的WARN及ERROR日志(亦可定义只收集ERROR日志)。
3、Elasticsearch服务器(本例ELK安装在一台server)安装zabbix-agentd,并创建自定义监控脚本。
4、本例中实现的主要流程:
Filebeat过滤收集错误日志(只收集报警或错误日志),推送给logstash,logstash收集后在elasticsearch生成指定索引名称的文件,在elasticsearch服务器通过zabbix-agent自定义脚本检测指定最新索引名称文件中的记录条数(因为只有报警及错误日志),在zabbix-server端配置监控项(收集间隔要稍长一点,比如2分钟,果断可能报警微信发不出来),配置触发器(比较两次获得记录条数,若不相等,即产生了报警或错误日志)。
Elasticsearch主机上zabbix-agentd自定义脚本:
#!/bin/bash
pro=$1
num=$(curl -s -XGET http://localhost:9200/_cat/indices?bytes=G |sort -rnk8 |grep tomcatlog_${pro} |head -1 |awk '{print $7}')
echo $num
zabbix-agent配置文件:
#cat etc/zabbix_agentd.conf
UserParameter=check_tomcat_log[*],sh /usr/local/zabbix/scripts/check_tomcat_log.sh $1
Zabbix-server对zabbix-agentd主机配置监控项及触发器:
环境:
1、zabbix已配置微信报警.
2、filebeat过滤收集tomcat指定日志文件内部的WARN及ERROR日志(亦可定义只收集ERROR日志)。
3、Elasticsearch服务器(本例ELK安装在一台server)安装zabbix-agentd,并创建自定义监控脚本。
4、本例中实现的主要流程:
Filebeat过滤收集错误日志(只收集报警或错误日志),推送给logstash,logstash收集后在elasticsearch生成指定索引名称的文件,在elasticsearch服务器通过zabbix-agent自定义脚本检测指定最新索引名称文件中的记录条数(因为只有报警及错误日志),在zabbix-server端配置监控项(收集间隔要稍长一点,比如2分钟,果断可能报警微信发不出来),配置触发器(比较两次获得记录条数,若不相等,即产生了报警或错误日志)。
Elasticsearch主机上zabbix-agentd自定义脚本:
#!/bin/bash
pro=$1
num=$(curl -s -XGET http://localhost:9200/_cat/indices?bytes=G |sort -rnk8 |grep tomcatlog_${pro} |head -1 |awk '{print $7}')
echo $num
zabbix-agent配置文件:
#cat etc/zabbix_agentd.conf
UserParameter=check_tomcat_log[*],sh /usr/local/zabbix/scripts/check_tomcat_log.sh $1
Zabbix-server对zabbix-agentd主机配置监控项及触发器:
以上是关于ELK+zabbix监控tomcat报警及错误日志--报警的主要内容,如果未能解决你的问题,请参考以下文章