Как определить фильтрацию Грока? - PullRequest
0 голосов
/ 10 декабря 2018

Как я могу определить шаблон фильтрации grok для нижеприведенного сообщения журнала, которое отображается в Kibana?Я уже определил больше шаблона, но получаю _grokparsefailure

2018-12-10  14:50:01,497  [traceID : 46072cedb98568e3  spanID: 46072cedb98568e3 parent: ] service : networkService  [XNIO-2 task-1] org.mongodb.driver.connection - Opened connection [connectionId{localValue:2, serverValue:3209}] to 192.168.0.207:27017

Вот мое (WGSSAMINTHA) попытанное решение.

filter { 
  grok { 
    match => { 
      "message" => "%{IP:client} %{WORD:method} %{WORD:service} 
                    %{URIPATHPARAM:request} %{NUMBER:duration}" 
    } 
    remove_field => [ "_type:doc", 
                      "_index:archisoft-log-all", 
                      "_score: dev" ] 
  } 
} 

1 Ответ

0 голосов
/ 10 декабря 2018

Этот шаблон grok "%{IP:client} %{WORD:method} %{WORD:service} %{URIPATHPARAM:request} %{NUMBER:duration}" неверен для анализа предоставленной строки журнала.Шаблон Grok будет переведен в регулярное выражение, с которым будет сопоставляться строка журнала;если регулярное выражение не соответствует строке журнала, вы получите _grokparsefailure.Это означает, что порядок базовых шаблонов важен.

Поскольку вы не сказали, какую информацию вы хотели получить из строки журнала, я извлек некоторые части, которые казались важными:

  grok { 
    match => { 
      "message" => "^%{TIMESTAMP_ISO8601:date}  \[traceID \: %{DATA:traceID}  spanID\: %{DATA:spanID} parent\: %{DATA:parent}\] service \: %{WORD:service}  \[%{DATA:thread}\] %{DATA:message}$"
    }
  }

Это извлечет эти значения:

parent  
spanID      46072cedb98568e3
service     networkService
thread      XNIO-2·task-1
date        2018-12-10·14:50:01,497
message     org.mongodb.driver.connection - Opened connection [connectionId{localValue:2, serverValue:3209}] to 192.168.0.207:27017
traceID     46072cedb98568e3 
...