1.graylog配置输出
在System-outputs,选择GELF Output,填写如下内容,其它选项默认
在要输出的Stream中,选择Manage Outputs
选择GELF Output,右边选择刚才创建好的test。
2.安装logstash,作为中间临时的搬运工
下载logstash,最新版就可以。
https://www.elastic.co/cn/downloads/logstash/
上传到服务器,编写test.conf配置文件,内容如下
input{gelf {port => 12201codec => jsonhost => "0.0.0.0"}
}output{kafka{bootstrap_servers => ["kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092"]topic_id => "test-kafka"codec => "json"}}
运行logstash,输入以下命令
bin/logstash -f test.conf
3.kafka
前提:安装好kafka集群,
创建topic
bin/kafka-topics.sh --bootstrap-server kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092 --create --topic test-kafka
监听topic
bin/kafka-console-consumer.sh --bootstrap-server kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092 --topic test-kafka
最终消息传递到kafka上
filebeat配置
也可以使用filebeat将日志转发到kafka中,原理一样
- type: syslogenabled: trueprotocol.udp:host: "0.0.0.0:12201" 端口与graylog-outputs一致fields:logResource: "testkafka" #这些都是附加的标签fields_under_root: true #将标签放到顶头,不然在message字段里output.kafka:enabled: truehosts: ["kafkaserver1:9092","kafkaserver2:9092","kafkaserver3:9092"]topic: "%{[logResource]}"required_acks: 1
3.graylog插件
插件下载:
https://codeload.github.com/asnowfox/graylog-kafka-output/zip/refs/heads/master
使用:mvn package编译成jar包,放入到plugin目录下,重启graylog