我的系统上安装了 logstash、kibana 和 elasticsearch,并使用了以下过滤器配置:
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 日志级别主机名主机IP 进程名称响应时间
我尝试添加时间戳,但它打印相同的字符串而不是动态结果