是否可以仅使用logstash(无文件节拍)将日志从不同的远程机器发送到ElasticSearch?如果是这样的话,我是否要在所有机器上的所有conf.d文件中定义相同的索引?我希望所有的日志都在同一个索引中。
我是否要使用logs-%{+YYYY.MM.dd}
作为所有配置文件的索引,以便将它们索引到同一文件夹中?
input {
file {
part => /home/ubuntu/logs/data.log
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index =>"logs-%{+YYYY.MM.dd}"
}
}
1条答案
按热度按时间vfh0ocws1#
你所做的是可以的,它会奏效的。我要纠正的一件事是,您应该简单地写入数据流,而不必关心索引名和ILM问题(展期、保留等),如下所示:
数据流名称将为
logs-ubuntu-prod
,您可以根据自己的喜好更改后两者。不过,请确保首先正确设置data stream,但要有足够的Index Lifecycle Management policy。
另一方面,在所有远程机器上安装Logstash是一种资源浪费,而Logstash本应作为集中式流媒体引擎工作。你肯定应该使用FileBeat,或者现在更好的是Elastic Agent,它可以通过Kibana的Fleet完全管理。你应该去看看。