В моем файле журнала есть такой шаблон:
[Sun Oct 30 17:16:09 2016] [TRACE_HIGH] [TEST1] MessageTest1
[Sun Oct 30 17:16:10 2016] [TRACE_HIGH] [TEST2] MessageTest2
Шаблон:
\A\[%{HTTPDERROR_DATE}](?<message>(.|\r|\n)*)
Фильтр:
filter {
if [type] == "mycustomlog" {
grok {
match => { "message" => "\A\[%{HTTPDERROR_DATE}](?<message>(.|\r|\n)*)"}
}
date {
# Format: Wed Jan 13 11:50:44.327650 2016 (GROK: HTTPDERROR_DATE)
match => [ "timestamp", "EEE MMM dd HH:mm:ss yyyy"]
}
multiline {
pattern => "^%{SYSLOG5424SD}%{SPACE}"
what => "previous"
negate=> true
}
}
}
Я пытаюсь использовать свой журнал даты и времени в поле @timestamp, но не могу проанализировать этот формат в @timestamp. Почему фильтр даты не заменил значение @timestamp?
Моя отметка @timestamp отличается от строки журнала:
строка [0]
- @timestamp: [среда, 2 ноября, 15:56: 42 2016 г.]
- сообщение: [среда, 2 ноября, 15:56: 41 2016]
Я следую этому руководству:
С использованием:
Elasticsearch 2.2.x, Logstash 2.2.x и Kibana 4.4.x
\A\[%{HTTPDERROR_DATE}](?<message>(.|\r|\n)*)
), не создает поле из%{HTTPDERROR_DATE}
. Вам необходимо иметь%{HTTPDERROR_DATE:timestamp}
- person baudsp   schedule 03.11.2016