gpt4 book ai didi

elasticsearch - 如何从同一filebeat到logstash的不同日志具有不同的索引名称

转载 作者:行者123 更新时间:2023-12-02 23:13:18 25 4
gpt4 key购买 nike

我已经设置了ELK的版本(7.3.1)。在其他VM上的filebeat(7.3.1)。
我在安装了Filebeat的VM上有多个日志。
我想为不同的日志使用不同的索引名称。
我尝试了一种不起作用的方法,配置文件如下

filebeat.yml

filebeat.inputs:
- type: log
enabled: true
paths:
- /data01/-----/LOG1/forecaster.log
fields:
log_type: type1
- type: log
enabled: true
paths:
- /data01/-----/LOG2/forecaster.log
fields:
log_type: type2
- type: log
enabled: true
paths:
- /data01/-----/LOG3/forecaster.log
fields:
log_type: type3

logstash.conf
input {
beats {
type => "filebeat"
port => "5044"
}
}

filter {
#If log line contains tab character followed by 'at' then we will tag that entry as stacktrace
if [message] =~ "\tat" {
grok {
match => ["message", "^(\tat)"]
add_tag => ["stacktrace"]
}
}
}
output {
stdout {
codec => rubydebug
}
if ([fields][log_type] == "type1") {
elasticsearch {
hosts => ["IP:9200"]
index => "log1"
}
}
if ([fields][log_type] == "type2") {
elasticsearch {
hosts => ["IP:9200"]
index => "log2"
}
}
if ([fields][log_type] == "type3") {
elasticsearch {
hosts => ["IP:9200"]
index => "log3"
}
}
}

使用上述配置,并在分析了EL和filebeat的日志之后,将从filebeat提取日志文件,并将其发送到logstash进行处理,但不会发送给 flex 搜索。

我需要帮助找出问题/遗漏之处,以完成这项工作

谢谢

最佳答案

在字段部分中,filebeat配置中的缩进似乎不正确,您缺少两个空格字符

filebeat.inputs:
- type: log
enabled: true
paths:
- /data01/-----/LOG1/forecaster.log
fields:
log_type: type1 <-- fis this line
- type: log
enabled: true
paths:
- /data01/-----/LOG2/forecaster.log
fields:
log_type: type2 <-- fis this line
- type: log
enabled: true
paths:
- /data01/-----/LOG3/forecaster.log
fields:
log_type: type3 <-- fis this line

关于elasticsearch - 如何从同一filebeat到logstash的不同日志具有不同的索引名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58093947/

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