Logsta sh конфигурация для извлечения слов - PullRequest
0 голосов
/ 16 января 2020

Я новичок в манипуляциях Logsta sh и не знаю, как это сделать. У меня есть пример данных, как показано ниже:

Column:Type
Incident Response P3
Incident Resolution L1.5  P2
...

Я хочу извлечь слова «Ответ» и «Разрешение» в новый столбец «Тип SLA»

Я ищу что-то очень похожее на следующее SQL утверждение:

case when Type like '%Resolution%' then Resolution
when Type like '%Response%' then Response 
end as SLA_Type

Как мне манипулировать этим в Logsta sh?

Ниже мой конф. Я использую ввод API.

input {

http_poller {
    urls => {
    snowinc => {
    url => "https://service-now.com"
    user => "your_user"
    password => "yourpassword"
    headers => {Accept => "application/json"}
    }
}
request_timeout => 60
metadata_target => "http_poller_metadata"
schedule => { cron => "* * * * * UTC"}
codec => "json"
}
}
filter
   {
   json {source => "result" }
   split{ field => ["result"] }
date {
  match => ["[result][sys_created_on]","yyyy-MM-dd HH:mm:ss"]
  target => "sys_created_on"
     }
}
output {
  elasticsearch {
    hosts => ["yourelastuicIP"]
    index => "incidentsnow"
    action=>update
    document_id => "%{[result][number]}"
    doc_as_upsert =>true
}
        stdout { codec => rubydebug }
}

Вывод URL-адреса API json выглядит следующим образом:

{"result":[
{
"made_sla":"true",
"Type":"incident resolution p3",
"sys_updated_on":"2019-12-23 05:00:00",
"number":"INC0010275",
"category":"Network"} ,
{
"made_sla":"true",
"Type":"incident resolution l1.5 p4",
"sys_updated_on":"2019-12-24 07:00:00",
"number":"INC0010567",
"category":"DB"}]}

1 Ответ

2 голосов
/ 17 января 2020

Вы можете использовать следующий блок filter в своем конвейере, чтобы добавить новое поле, если слово присутствует в другом поле.

if "response" in [Type] {
    mutate {
        add_field => { "SLA_Type" => "Response" }
    }
}
if "resolution" in [Type] {
    mutate {
        add_field => { "SLA_Type" => "Resolution" }
    }
}

Если присутствует слово response в поле Type к вашему документу будет добавлено новое поле с именем SLA_Type со значением Response, то же самое произойдет с resolution.

...