使用logstash解析交织在一起的多行日志

时间:2016-07-18 10:02:37

标签: multithreading logstash multiline

我正在尝试解析以下格式的日志:

for (Node menu : menuBarMain.lookupAll(".menu")) {
    if (menu.contains(menu.screenToLocal(p))) {
        f = true;
        break;
    }
}

它们是由在某个服务器上运行的线程池生成的,这些线程都写入单个文件,我需要从它们的块中提取信息,同时牢记以下约束:

  • 事件是多行的,您看到的07/12/16 00:41:03.30 FABsrv.1:fwsrvExecServerRule:FwSelectRawSqlTxn stopped at 00:41:03 , and took 0.000413000 07/12/16 00:41:03.30 FABsrv.1:fwsrvExecServerRule:FwSelectRawSqlTxn started at 00:41:03 07/12/16 00:41:03.30 FABsrv.1:fwsrvExecServerRule:FwSelectRawSqlTxn stopped at 00:41:03 , and took 0.000450000 07/12/16 00:41:03.30 FABsrv.15:FwEventManager:message to process: :>>L FwSrvExecuteRuleTxn msgTag=_INBOX.0A121933.DC05784206C6061BD8.13 ruleName=C2_BATCHCHECK attributes={ { class=ASSOC { class=A1 "PARAMETER" } { class=A1 "VALUE" } } { "USERID" "BC212" } { "EQPID" "FAITU02" } { "LOTIDS" "Q619294" } { "LOTSPPIDS" "Q619294=B401HA/DEFFIN_A" } { "FORCENOMEASURE" "F" } { "FORCEBATCHMAX" "F" } { "TID" "CRO06666_RN004102950_V5.8.0.0004" } } 07/12/16 00:41:03.30 FABsrv.15:fwsrvExecServerRule:FwSelectRawSqlTxn started at 00:41:03 07/12/16 00:41:03.30 FABsrv.1:fwsrvExecServerRule:FwSelectRawSqlTxn started at 00:41:03 07/12/16 00:41:03.30 FABsrv.1:fwsrvExecServerRule:FwSelectRawSqlTxn stopped at 00:41:03 , and took 0.001052000 07/12/16 00:41:03.30 FABsrv.15:fwsrvExecServerRule:FwSelectRawSqlTxn stopped at 00:41:03 , and took 0.001576000 07/12/16 00:41:03.30 FABsrv.15:fwsrvExecServerRule:FwSelectRawSqlTxn started at 00:41:03 07/12/16 00:41:03.31 FABsrv.15:fwsrvExecServerRule:FwSelectRawSqlTxn stopped at 00:41:03 , and took 0.000910000 07/12/16 00:41:03.31 FABsrv.15:C2_BATCHCHECK:CAPITraceDiagnostic - finish executing rule C2_BATCHCHECK:Reply stopped之间可以有行和需要连接在一起的行

  • 事件交织在一起,第三列指定哪个线程写入哪一行,每个线程需要对应不同的数据流

  • 我需要一个线程安全的解决方案

最后一点是真正的问题,因为当前正在使用的是started过滤器及其multiline选项,可根据线程编号拆分流,但该解决方案可以' t扩展到我们现在拥有的数据量,并且不推荐stream-identity过滤器支持mutiline这是线程安全的,但不支持该流拆分功能。

将日志分成多个文件将是我明显的解决方案,但由于操作原因,这是不可能的。

有没有办法做到这一点?

0 个答案:

没有答案
相关问题