Мой вопрос связан с шаблоном logstash grok.Я создал шаблон ниже, который работает нормально, но большая проблема не в строковых значениях.Иногда;"Y" и "age" могут быть нулевыми, поэтому мой шаблон grok не создает никакого лога вasticseach.Это не работает должным образом.Мне нужно сказать мой образец грока:
if(age is null || age i empty){
updatefield["age",0]
}
, но я не знаю, как это сделать.Кстати;Я проверил многие решения с помощью Google, но это напрямую связано с моей проблемой.
input {
file {
path => ["C:/log/*.log"]
start_position => "beginning"
discover_interval => 10
stat_interval => 10
sincedb_write_interval => 10
close_older => 10
codec => multiline {
pattern => "^%{TIMESTAMP_ISO8601}\|"
negate => true
what => "previous"
}
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:formattedDate}.* X: %{DATA:X} Y: %{NUMBER:Y} Z: %{DATA:Z} age: %{NUMBER:age:int} "}
}
date {
timezone => "Europe/Istanbul"
match => ["TimeStamp", "ISO8601"]
}
json{
source => "request"
target => "parsedJson"
}
mutate {
remove_field => [ "path","message","tags","@version"]
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => [ "http://localhost:9200" ]
index => "logstash-%{+YYYY.MM}"
}
}