我刚刚建立了一个 ELK 堆栈,但是我在 /etc/logstash/conf.d 中的 logstash 配置方面遇到了问题我有两个输入源从一台 linux 服务器转发,该服务器上安装了一个带有“文件”看起来像:
{
"paths": ["/var/log/syslog","/var/log/auth.log"],
"fields": { "type": "syslog" }
},
{
"paths": ["/var/log/osquery/osqueryd.results.log"],
"fields": { "type": "osquery_json" }
}
如您所见,一个输入是 osquery 输出(json 格式),另一个是 syslog。我当前对 logstash 的配置是 osquery.conf:
input {
lumberjack {
port => 5003
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
codec => "json"
}
}
filter {
if [type] == "osquery_json" {
date {
match => [ "unixTime", "UNIX" ]
}
}
}
output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}
这对于一个输入源来说很好,但我不知道如何将我的另一个 syslog 输入源添加到同一个配置中,因为“编解码器”字段在输入中——我无法将其更改为 syslog ...
我还计划以 Windows 日志格式添加另一个输入源,该输入源未由 logstash 转发器转发。反正有什么不同的结构吗?