#elasticsearch #logstash #kibana #filebeat
Вопрос:
я пытаюсь установить метку времени @со значением моего собственного поля, но у меня только плохие результаты с тегами «_dataparsefailure». Я новичок и не знаю, в чем я не прав. Кто-нибудь может мне помочь? (Извините за мой плохой английский, я итальянец 🙂 )
2021-06-22 09:06:59,041 ——> это мой формат данных
а ниже есть код
filter {
...... (some disssect) ....
aggregate {
task_id => "%{breadcrumbId}_%{ID}"
code => '
map["Inbound_time"] ||= event.get("[Inbound][time]")
map["Inbound_log_level"] ||= event.get("[Inbound][log][level]")
map["Inbound_operation_name"] ||= event.get("[Inbound][operation][name]")
map["Inbound_flow"] ||= event.get("[Inbound][flow]")
map["Inbound_message"] ||= event.get("[Inbound][message]")
map["Inbound_payload"] ||= event.get("[Inbound][payload]")
map["ID"] ||= event.get("ID")
map["Outbound_time"] ||= event.get("[Outbound][time]")
map["Outbound_log_level"] ||= event.get("[Outbound][log][level]")
map["Outbound_operation_name"] ||= event.get("[Outbound][operation][name]")
map["Outbound_flow"] ||= event.get("[Outbound][flow]")
map["Outbound_message"] ||= event.get("[Outbound][message]")
map["Outbound_payload"] ||= event.get("[Outbound][payload]")
map["event_original"] ||= event.get("[event][original]")
map["breadcrumbId"] ||= event.get("breadcrumbId")
map["BPOCO"] ||= event.get("BPOCO")
map["OrderID"] ||= event.get("OrderID")
map["QuoteID"] ||= event.get("QuoteID")
map["ServiceID"] ||= event.get("ServiceID")
map["Prodotto"] ||= event.get("Prodotto")
map["faultString"] ||= event.get("faultString")
map["Mobile/NotMobile"] ||= event.get("Mobile/NotMobile")
map["SOAP_action"] ||= event.get("[SOAP][action]")
event.cancel
'
push_map_as_event_on_timeout => true
timeout => 10
}
mutate {
copy => { "Outbound_time" => "times" }
}
mutate {
convert => {"times" => "string" }
}
date {
match => ["times", "YYYY-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
}
}
Комментарии:
1. фрагмент кода или образец кода здесь гораздо важнее, чем идеальный английский 😉
Ответ №1:
в соответствии с этим фильтром даты источника
yyyy
full year number. Example: 2015.
и ваш фильтр-это
date {
match => ["times", "YYYY-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
}
возможно, вы захотите изменить его на
date {
match => ["times", "yyyy-MM-dd HH:mm:ss,SSS"]
target => "@timestamp"
}
Комментарии:
1. можете ли вы скопировать данные
times
, которые вы видите, из elasticsearch?2. я решил, я поставил плагин даты перед агрегатом, и теперь он работает. Спасибо тебе то же самое.