как сохранить значение переменной и использовать его глобально в logstash - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть переменная 'worflow' в коде, и как только любое событие соответствует этому фильтру, я хочу сохранить его для следующих событий как есть. Проблема - с помощью «Добавить поле» для события, которое фактически содержит рабочий процесс, значение рабочего процесса отображается в csv, но для других событий отображается% {рабочий процесс} (как есть). Пожалуйста, предложите любой способ для этого.

input { 
    file{
        path => "D:/alerts extracted from mails/*.log"
        start_position => beginning
        sincedb_path=>"NUL"
    }
}
filter {
   grok{
 match=> {"message" => "(?<mess_time>%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}) : %{DATA:Title}> %{WORD:Code} Workflow: (\[%{WORD:workflow}\]) %{GREEDYDATA:info}"}
 match=> {"message" => "(?<mess_time>%{DAY} %{MONTH} %{MONTHDAY} %{TIME} %{YEAR}) : %{DATA:Title}> %{WORD:Code} %{GREEDYDATA:info}"}
}

if "_grokparsefailure" in [tags]{
     drop { }
     }
     mutate {

        add_field => { "client_id" => "BP" }
        add_field => { "portfolio_id" => "NAGP" }
        add_field => { "resource_id" => " " }
        add_field => { "resource_name" => "%{workflow}" }
        add_field => { "lob" => "creditrisk" }
        add_field => { "mess" => "%{info} }
    }
    }

output{

csv{

fields =>["client_id","portfolio_id","resouce_id","resource_name","lob","mess_time","mess"]
path => "C:/Users/saavi.verma/Downloads/logstash-7.6.2/output_files/output1.csv"
}
}
...