gpt4 book ai didi

logstash - 可以在 lumberjack 中指定两个不同的编解码器吗?

转载 作者:行者123 更新时间:2023-12-02 01:37:58 25 4
gpt4 key购买 nike

我刚刚建立了一个 ELK 堆栈,但我在/etc/logstash/conf.d 中的 logstash 配置方面遇到了问题 我有两个输入源从一个安装了 logstash 转发器的 linux 服务器转发"file"看起来像:

{
"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 }
}

这对于一个输入源工作正常,但我不知道如何将我的其他系统日志输入源添加到同一配置,因为“编解码器”字段在输入中——我无法将其更改为系统日志...

我还计划添加另一个未被 logstash 转发器转发的 Windows 日志格​​式的输入源。有什么不同的结构吗?

最佳答案

如果您要在同一输入上处理不同的编解码器,最好只从输入中删除编解码器:

input {
lumberjack {
port => 5003
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}

filter {
if [type] == "osquery_json" {
json {
source => "field_name_the_json_encoded_data_is_stored_in"
}
date {
match => [ "unixTime", "UNIX" ]
}
}
if [type] == "syslog" {

}
}

output {
elasticsearch { host => localhost }
stdout { codec => rubydebug }
}

然后您只需要决定要对您的系统日志消息做什么。

我还建议将您的配置拆分为多个文件。我倾向于将 01-filename.conf - 10-filename.conf 用于输入,11-29 作为过滤器,高于此的任何内容用于输出。这些文件将按照它们在 ls 中打印的顺序加载到 logstash。

关于logstash - 可以在 lumberjack 中指定两个不同的编解码器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com