java tomcat 日志分析工具_tomcat日志集中采集、分析与展示的几种方法

在分布式系统中,管理多个Tomcat实例的日志是一项挑战。本文介绍了多种日志分析方法,包括使用`tail -f`、`sed`命令进行简单查询,配置Tomcat日志远程采集到Syslog,使用ELK(Elasticsearch、Logstash、Kibana)等开源工具进行实时分析,以及借助专用日志分析软件。同时,分享了一个使用Python Django框架实现的Web版日志查看系统,提供实时日志输出到Web页面的功能,提高了日志查询效率和用户体验。
摘要由CSDN通过智能技术生成

大家在做分布式web系统的时候,比如那么多个tomcat,每天都会产生很多的日志(虽然已经按小时进行日志拆分了,但日志内容还是很大,vim查日志的时候很慢),而且那么多个tomcat,每个tomcat都要去查询,这样日志查询会很麻烦,效率很低,想请教大家是如何处理的呢?我赶脚这是个系统设计问题,不知道大家是用的什么架构和组件来解决这样的问题的?

tail -f catalina.out 【单机简单万能好使,如果要特定条件直接加|grep **即可】

搜索指定日期日志文件:

sed -n '/^起始日期/,/^结束日期/p' 日志文件 > 新文件(输出文件)

例如:查询2018-02-15这天的所有日志内容:

sed -n '/^2018-02-15/,/^2018-02-16/p' catalina.out > catalina_20180215.out

前提是catalina.out日志中的每行都是以日期格式开头的!

二、Tomcat日志配置远程Syslog(现在升级是Rsyslog)采集

第一步:初始化日志采集环境

先确保系统中的/var/spool/rsyslog 目录已存在:

mkdir -v /var/spool/rsyslog

if [ "$(grep Ubuntu /etc/issue)" != "" ]; then

chown -R syslog:adm /var/spool/rsyslog

fi

第二步:创建Tomcat日志文件采集配置

新建Rsyslog的子配置文件,他通常在/etc/rsyslog.d下,需要/etc/rsyslog.conf去包含这个目录下的子配置文件:

vim /etc/rsyslog.d/tomcat-biglog.conf

复制以下内容到tomcat-biglog.conf,注意注释部分的修改:

$ModLoad imfile

$InputFilePollInterval 10

$WorkDirectory /var/spool/rsyslog

$PrivDropToGroup adm

## 指定日志格式模板:

$template BiglogFormatTomcat,"%msg%\n"

## Tomcat的catalina.log路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/catalina.log

$InputFileTag catalina-log

$InputFileStateFile stat-catalina-log

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## Tomcat的catalina.out路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/catalina.out

$InputFileTag catalina-out

$InputFileStateFile stat-catalina-out

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## Tomcat的host-manager.log路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/host-manager.log

$InputFileTag host-manager

$InputFileStateFile stat-host-manager

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## Tomcat的initd.log路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/initd.log

$InputFileTag initd

$InputFileStateFile stat-initd

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## Tomcat的localhost.log路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/localhost.log

$InputFileTag localhost-log

$InputFileStateFile stat-localhost-log

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## Tomcat的manager.log路径,根据实际情况修改:

$InputFileName /var/log/tomcat6/manager.log

$InputFileTag manager

$InputFileStateFile stat-manager

$InputFileSeverity info

$InputFilePersistStateInterval 25000

$InputRunFileMonitor

## 注意syslog日志服务器接收地址,根据实际情况修改:

if $programname == 'catalina-log' then @10.x.x.x:514;BiglogFormatTomcat

if $programname == 'catalina-log' then ~

if $programname == 'catalina-out' then @10.x.x.x:514;BiglogFormatTomcat

if

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值