文档章节

logstash日志用于匹配多行日志

testwork
 testwork
发布于 2016/05/26 10:45
字数 394
阅读 650
收藏 1

logstash显示单行日志很方便,但是多行日志怎么搞.

input {
        file {
                type =>"xxxxxx"
                path => ["/tmp/test/test.txt"]
                codec => multiline { 
                        pattern => "^%{TIMESTAMP_ISO8601} " 
                        negate => true 
                        what => previous 
                }
        }
}

日志格式如下是python的堆栈调用.每个日志必须是时间开始

2016-01-10 10:10:10,384 - Internal Server Error: /abcdef/testurl/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = xxxxxcallback(request, *callback_args, **callback_kwargs)
  File "/xxxxxxxxxxx/xxxxxxxxx/xxxxxxxxx/views.py", line 2750, in xxxxxxxxxxxx
    abcids = [[int(i) for i in idx.split('_')] for ids in xxxxids[0].split(',')]
IndexError: list index out of range

其实nginx的error日志同样可以使用这种方式,唯一需要注意的是第一列必须有个特定的东西,

multiline插件最重要的方面:

pattern 选项指定一个正则表达式。 事件匹配指定的正则表达式来确定是前一个事件的内容还是新的事件的内容。可以使用grok正则表达式的模板来配置该选项。
what 选项有两个选择值: previous 或者 next。 previous 值指定行匹配pattern选项的内容是上一行的一部分。 next 指定行匹配pattern选项的内容是下一行的一部分。* negate选项适用于multiline codec 行不匹配pattern选项指定的正则表达式。
该配置使用negate => true 选项来指定任何不是以时间戳开始的行属于前行。也就是不匹配pattern的行都属于前行的内容的一部分。
http://www.cnblogs.com/sl21100/p/5341428.html

详细解释可以看上面链接.

© 著作权归作者所有

testwork
粉丝 4
博文 74
码字总数 21048
作品 0
崇明
程序员
私信 提问
如何在ELK中解析各类日志文件

作为一个日志中心,它会收集各种各样的日志,可以用于问题排查,数据监控,统计分析等等。那么对于繁多的日志,它们都有各自的存储格式,我们如何来区分它们,对于不同的日志格式,我们又是如...

禁区铁铍人
2017/11/30
0
0
分布式实时日志分析解决方案 ELK 部署架构

原文出处:FEINIK 一、概述 ELK 已经成为目前最流行的集中式日志解决方案,它主要是由Beats、Logstash、Elasticsearch、Kibana等组件组成,来共同完成实时日志的收集,存储,展示等一站式的解...

FEINIK
2017/12/30
0
0
Lotgstash日志切割示例

logstash的功能有一点是把 各种软件生成的各种格式的日志 转换成一个方便检索筛选的格式,本文演示了一个最简单的例子。 一 转换的效果 实例: rabbitmq-server 日志: =INFO REPORT==== 16-...

superbigsea
2017/01/16
0
0
logstash之codec插件

Logstash不只是一个的数据流,而是一个的数据流。codec就是用来decode,encode 事件的。所以codec常用在input和output中 常用的codec插件有plain,json,multiline等 plain插件: 主要用于事...

余二五
2017/11/23
0
0
logstash解析tomcat的catalina.out日志字段

在工作中需要在elk中展示tomcat的日志,对其进行分析,报错排查及其它定制需求; 下面为catalina.out日志样例,以此为样本进行字段的解析;注:可以看到此段日志有规律的,由此可以对其进行解...

weilovepan520
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

import java.util.Arrays; public class Solution { public int MoreThanHalfNum_Solution(int [] array) { Arrays.sort(array); int count=0; for(int i=0;i<array.le......

南桥北木
32分钟前
2
0
关于FLAG_ACTIVITY_NEW_TASK的使用

参考文章: https://blog.csdn.net/u010389391/article/details/78558475 Context调用startActivity, 有部分情况会报出如下错误: Caused by: android.util.AndroidRuntimeException: Calli......

Gemini-Lin
47分钟前
1
0
Python开发工具:Webware for Python

原文来之:https://www.oschina.net/p/webware+for+python 前言 Webware for Python 是一组 Python 包和工具用来开发面向对象的 Web 应用。良好的设计模式,包含一个快速的应用服务器、Servl...

A_裙232550246
56分钟前
2
0
高并发场景下的缓存有哪些常见的问题?

一、缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。 这就比较依赖缓存的过期和更新...

别打我会飞
今天
3
0
List list = new ArrayList()为何父类引用指向子类对象(多态)

态:要有继承,方法的重写,父类引用指向子类对象 疑问一:父类引用指向子类对象 与指向父类对象 Animal cat = new Cat(); //向上转型。 父类引用指向子类对象,该引用不能再访问子类新增加的...

architect刘源源
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部