logstash2.2.0过滤tomcat日志

input {
   file {
	type => "java-err"
	path => "/fsmeeting/tomcat-service/logs/catalina.out"
	tags => "java-err"
	codec => multiline {
	   pattern => "^%{TIMESTAMP_ISO8601}"
	   negate => true
	   what => "previous"
	}
   }
}

filter {
   if [type] == "java-err" {
	grok {
	   match => { "message" => "%{TIMESTAMP_ISO8601:date} \[(?<thread_name>.+?)\]-\[(?<log_level>\w+)\]\s*(?<content>.*)"}
	}
	mutate {
	   remove_field => "content"
	}
	if [log_level] != "ERROR" {
	  	drop {}
	}
   }
}

output {
   elasticsearch {
	host => "192.168.5.231"
	protocol => "http"
	index => "java-err-%{+YYYY.MM.dd}"
   }
   email {
        body => "%{message}"
        from => "xxxxxxx"
        contenttype => "text/plain; charset=UTF-8"
        options => [
                "smtpIporHost", "smtp.sina.com",
                "userName", "xxxxxxx",
                "password", "*********",
                "authenticationType", "login"
        ]
        subject => "服务器%{host} %{type}日志异常"
        to => "xxxxxxxx"
   }
}

去重发日志:

input {
   file {
	type => "java-err"
	path => "/fsmeeting/tomcat-service/logs/catalina.out"
	tags => "java-err"
	codec => multiline {
	   pattern => "^%{TIMESTAMP_ISO8601}"
	   negate => true
	   what => "previous"
	}
   }
}

filter {
   if [type] == "java-err" {
	grok {
	   match => { "message" => "%{TIMESTAMP_ISO8601:date} \[(?<thread_name>.+?)\]-\[(?<log_level>\w+)\]\s*(?<content>.*)"}
	}
	mutate {
	   remove_field => "content"
	}
	if [log_level] == "ERROR" {
           throttle {
                after_count => 2
                key => "%{content}"
                add_tag => "throttled"
           }
	}
	if [log_level] != "ERROR" {
	  	drop {}
	}
   }
}

output {
   elasticsearch {
	host => "192.168.5.231"
	protocol => "http"
	index => "java-err-%{+YYYY.MM.dd}"
   }
   if "throttled" not in [tags] and [type] == "java-err" and [log_level] == "ERROR" 
   email {
        body => "%{message}"
        from => "xxxxxxx"
        contenttype => "text/plain; charset=UTF-8"
        options => [
                "smtpIporHost", "smtp.sina.com",
                "userName", "xxxxxxx",
                "password", "*********",
                "authenticationType", "login"
        ]
        subject => "服务器%{host} %{type}日志异常"
        to => "xxxxxxxx"
   }
   }
}
时间: 2024-08-19 06:12:52

logstash2.2.0过滤tomcat日志的相关文章

tomcat日志警告WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property &#39;debug&#39; to &#39;0&#39; did not find a matching property.

日志中有警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '0' did not find a matching property. 跟踪后发现是连接池的配置问题: <Context path="/n" docBase="E:/xxx/war" debug="0" reloadable="true"

ELK+kafka收集 Nginx与tomcat日志

ELK日志收集 ELK原理与介绍为什么用到ELK:一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办.如何多维度查询.需要集中化的日志管理,所有服务器上的日志收集汇总.常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问.一般大型系统是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定

自定义日志阅读器——包括了一个load取Tomcat日志的分析器

最近在写往公司产品里添加Tomcat适配器,以支持Tomcat.有一些功能需要摘取到Tomcat的部分日志.没有合适的工具,也不想去网上找了,就自己写了一个. 简单的画了一下设计方案: 下面直接上代码了: 日志阅读器: 1 package com.fjn.tools.log.reader; 2 3 import java.io.File; 4 import java.util.LinkedList; 5 import java.util.List; 6 import java.util.Scan

centos下tomcat日志文件乱码

最近装了centos7.0 准备用来搭建web服务器.遇到一个问题折腾了很久: 在tomcat日志文件中的中文全部为?号,并不是因为linux的编码问题引起的,而是因为启动tomcat的时候需要设置java虚拟机的编码. 于是在daemon.sh中加入以下一句解决. JAVA_OPTS="$JAVA_OPTS -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.e

Tomcat日志切割(logrotate)

logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行.自动有了logrotate,我想不用再自己写日志切割脚本. 如下对Tomcat日志catalina.out日志切割 # ls -lh /usr/local/tomcat/logs/catalina.out -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr

使用awstats监控Tomcat日志

awstats 是由perl语言编写的,所以要首先准备好awstats的运行环境. # yum install –y perl 1.下载安装awstats awstats install 文件夹 # cd /opt # wget http://www.awstats.org/files/awstats.tar.gz # tar xvf awstats.tar.gz  # mv awstats/usr/local/awstats 2.创建一个tomcot统计 [[email protected] 

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

Tomcat日志系统详解

综合:Tomcat下相关的日志文件 catalina引擎的日志文件,文件名:catalina.日期.log Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!) Tomcat下默认manager应用日志,文件名manager.日期.log 控制台输出的日志,Linux下默认重定向到catalina.out Access日志(Se

tomcat 日志切割

一.日志切割介绍 tomcat日志一般产生的是比较大的,catalina.out文件一般占用比较大,如果不做切割的话,很容易占满存储磁盘,一般需要做切割,切割的方法有多种,现介绍一种系统自动的日志切割的工具:logrotate软件,一般是系统自动的,非常好用. 二.使用logrotate分割tomcat日志 logrotate是个强大的系统软件,它对日志有着一套完整的操作模式,譬如:转存.邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作