zoukankan      html  css  js  c++  java
  • ELK显示多行日志

    1.默认,logstash对日志文件的选取是以单行为单位的;但像log4j这种输出日志经常会是以时间头开始的多行日志;

    2.显示多行,需要配置logstash的config;

    input {
    file {
       type =>"cbb-sh-robot"
       path => ["/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb.log","/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb-robot.log"]
       codec => multiline {
            pattern => "^%{TIMESTAMP_ISO8601} "
            negate => true
            what => previous
    }
      }
    file{
       type =>"cbb-web"
       path => ["/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/cbb-web-logs/cbb.log"]

       codec => multiline {
            pattern => "^%{TIMESTAMP_ISO8601} "
            negate => true
            what => previous
    }
    }
    }

    output {
      elasticsearch { hosts => ["localhost:9200"] }
      stdout { codec => rubydebug }
    }

    multiline插件最重要的方面:

    • pattern 选项指定一个正则表达式。 事件匹配指定的正则表达式来确定是前一个事件的内容还是新的事件的内容。可以使用grok正则表达式的模板来配置该选项。
    • what 选项有两个选择值: previous 或者 next。 previous 值指定行匹配pattern选项的内容是上一行的一部分。 next 指定行匹配pattern选项的内容是下一行的一部分。* negate选项适用于multiline codec 行不匹配pattern选项指定的正则表达式。

    该配置使用negate => true 选项来指定任何不是以时间戳开始的行属于前行。也就是不匹配pattern的行都属于前行的内容的一部分。

    image

    如上图所示,2222 3333 4444 均为多行的数据,可以被正确的显示在一个时间头开始的日志里;

  • 相关阅读:
    CVSps 3.8 发布,CVS 资料库更改收集
    Cobra WinLDTP 3.0 发布,GUI 自动化测试
    SolusOS 2 Alpha 6 发布,桌面 Linux 发行
    微软 Windows Phone 8 原创应用大赛起航
    JAVA削足适履适应RESTful设计
    如何撰写编程书籍
    Synbak 2.1 发布,系统备份工具
    LibreOffice 4.0 RC1 发布,支持火狐兼容主题
    Rails 3.2.11 发布,修复关键安全问题
    haveged 1.7 发布,随机数生成器
  • 原文地址:https://www.cnblogs.com/sl21100/p/5341428.html
Copyright © 2011-2022 走看看