gpt4 book ai didi

elasticsearch - Logstash无法从Beats中读取logtype字段

转载 作者:行者123 更新时间:2023-12-03 00:59:06 25 4
gpt4 key购买 nike

我在一个节点上运行了logstash filebeat和elasticsearch。

我正在尝试获取logstash以标识标记为“syslog”的日志并将其转储到名为“syslog”的索引中,但是似乎看不到该标签,因为它们都进入了“未分类”索引(我捕获了所有默认值)指数)

这是我的节奏配置

/etc/filebeat/filebeat.yml
filebeat:
prospectors:
-
paths:
- /var/log/messages
fields:
type: syslog
output:
logstash:
hosts: ["localhost:9901"]

这是我的logstash配置文件
/etc/logstash/conf.d/logstash_server_syslog.conf
input {
beats {
port => "9901"
}
}

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}" ]
}
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}

output {
if [type] == "syslog" {
elasticsearch {
hosts => ["10.0.0.167:9200", "10.0.0.168:9200"]
index => "syslog"
}
} else {
elasticsearch {
hosts => ["10.0.0.167:9200", "10.0.0.168:9200"]
index => "uncategorized"
}
}
}

最佳答案

查看输出(带有stdout {}节)可以确认这一点,但是我猜测您错过了the doc的这一部分:

By default, the fields that you specify [in the 'fields' config'] will be grouped under a fields sub-dictionary in the output document. To store the custom fields as top-level fields, set the fields_under_root option to true.

关于elasticsearch - Logstash无法从Beats中读取logtype字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40285130/

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