logstash日志用于匹配多行日志
生活随笔
收集整理的這篇文章主要介紹了
logstash日志用于匹配多行日志
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
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_responseresponse = xxxxxcallback(request, *callback_args, **callback_kwargs)File "/xxxxxxxxxxx/xxxxxxxxx/xxxxxxxxx/views.py", line 2750, in xxxxxxxxxxxxabcids = [[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詳細解釋可以看上面鏈接.
轉載于:https://my.oschina.net/u/1538135/blog/681396
總結
以上是生活随笔為你收集整理的logstash日志用于匹配多行日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 偏好存空判断
- 下一篇: Android开发中常见的设计模式