У меня есть logstash, kibana и elasticsearch установлен на моей системе, при такой конфигурации фильтра:нужны пользовательские поля журнала Копание ГРОК фильтра в logstash
filter{
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
mutate {
add_field => {
"timestamp" => "%{TIME} %{MONTH} %{monthday}"
}
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
и получать выход на kibana как:
но мне нужны некоторые поля, которые заключаются в следующем: @timestamp @version _id _index _type _file Уровень протокола Имя хоста Host IP Время Имя Процесс Ответ
Я попытался добавить Timestamp, но его печать же строку Intead из dyamic результата
Может кто-нибудь сказать мне, где я делаю ошибку.
ok Я получил его, но как отображать поля, связанные с уровнем журнала, клиентом IP, именем процесса и т. Д. – Lavish
Если есть больше информации, чтобы вытащить из журналов, вы бы сделали больше grok {} stanzas, создав шаблоны, которые соответствуют и создайте нужные поля. –