我们使用ELK来控制我们的日志并在Kibana中显示它们。 我们有大约30种不同的日志类型,我们从网格机器和客户端机器都发送。
客户端机器使用filebeat - > logstash - > elastic - > Kibana
我想更改配置:
的 filebeat - > logstash - >弹性 - > Kibana
于:
的 filebeat - >的RabbitMQ - > logstash - >弹性 - > Kibana
在弹性方面,我创建了这个yml
示例 - 当RabbitMQ
不是them之一时。
是否可以这样配置我们的系统?
或者我必须使用:
的 filebeat - > logstash1 - >的RabbitMQ - > logstash2 - >弹性 - > Kibana
答案 0 :(得分:3)
我在这种情况下不熟悉RabbitMQ,但这似乎是Beats的Github存储库中的一个开放问题:
https://github.com/elastic/beats/issues/581
还有来自Elastic论坛的帖子表明filebeat没有插件支持,因此我猜测第一个选项是否:
https://discuss.elastic.co/t/filebeat-rabbitmq-plugin/55189
Logstash肯定支持rabbitmq作为输出:
https://www.elastic.co/guide/en/logstash/current/plugins-outputs-rabbitmq.html
答案 1 :(得分:0)
最后,我发现了FileBeat
输出plugin的一个不错的实现(尽管它不是一个“正式的”实现)。因为正确的Beats
团队不会支持RabbitMQ
插件,所以有人亲自写了它。
在Summery中,要使用plugin,您应该执行以下操作:
在main.go
文件中:
软件包主要
import (
"os"
_ "github.com/sidleal/mqttout"
"github.com/sidleal/countbeat/cmd"
)
func main() {
if err := cmd.RootCmd.Execute(); err != nil {
os.Exit(1)
}
}
在配置文件中(yourbeat.yml):
配置文件
output.mqtt:
host: "127.0.0.1"
port: 1883
topic: "mytopic"
user: "myvhost:myuser"
password: "mypassword"
将amq.topic交换绑定到所需的队列,将主题放入“路由密钥”。