Logsta sh оператор if с примером изменения - PullRequest
0 голосов
/ 05 мая 2020

это мой журнал sh файл:

    input {
        file {
    type => "java"
            path => "/config-dir/demo/userservice/logs/log.log"
            sincedb_path => "/dev/null"
            start_position => "beginning"

    }

 }

filter {
  if [message] =~ '\tat' {
    grok {
      match => ["message", "^(\tat)"]
      add_tag => ["stacktrace"]
    }
  }


  grok {
    match => [ "message",
           "(?m)(?<timestamp>%{YEAR}-%{MONTHNUM}-%{MONTHDAY} %{TIME})  %{LOGLEVEL:level} %{NUMBER:pid} --- .+? :\s+(?<logmessage>.*)"
         ]
  }


  date {
    match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss.SSS" ]
  }

}


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

Я хочу создать Grok для этой строки:

2020-05-05 20:45:39.059 ERROR 20102 --- [http-nio-8095-exec-5] 
c.z.u.api.controller.ELKController       : ApiError(userId=bushra, traceId=1, status=404 
NOT_FOUND, path=/api/testLogApi, timeStamp=2020-05-05T15:15:39.057678, message=Oops 
Exception raised...., debugMessage=null)

, а также хочу добавить поля каждого поля в ApiError объект в кибане. Подскажите, пожалуйста, как сделать грок-выкройку для бревен.

...