利用logstash/filebeat/插件,将graylog日志传输到kafka中

1.graylog配置输出

在System-outputs,选择GELF Output,填写如下内容,其它选项默认

在要输出的Stream中,选择Manage Outputs

选择GELF Output,右边选择刚才创建好的test。

2.安装logstash,作为中间临时的搬运工

下载logstash,最新版就可以。

bash 复制代码
https://www.elastic.co/cn/downloads/logstash/

上传到服务器,编写test.conf配置文件,内容如下

bash 复制代码
input{
 gelf {
    port => 12201
    codec => json
	host => "0.0.0.0"
  }
}

output{
  kafka{
        bootstrap_servers => ["kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092"]
        topic_id => "test-kafka"
        codec => "json"
        }
 }

运行logstash,输入以下命令

bash 复制代码
bin/logstash -f test.conf

3.kafka

前提:安装好kafka集群,

创建topic

bash 复制代码
bin/kafka-topics.sh --bootstrap-server kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092 --create --topic test-kafka

监听topic

bash 复制代码
bin/kafka-console-consumer.sh --bootstrap-server kafkaserver1:9092,kafkaserver2:9092,kafkaserver3:9092 --topic test-kafka

最终消息传递到kafka上

filebeat配置

也可以使用filebeat将日志转发到kafka中,原理一样

bash 复制代码
- type: syslog
  enabled: true
  protocol.udp:
    host: "0.0.0.0:12201" 端口与graylog-outputs一致
  fields:
    logResource: "testkafka" #这些都是附加的标签
  fields_under_root: true #将标签放到顶头,不然在message字段里

output.kafka:
  enabled: true
  hosts: ["kafkaserver1:9092","kafkaserver2:9092","kafkaserver3:9092"]
  topic: "%{[logResource]}"
  required_acks: 1

3.graylog插件

插件下载:

bash 复制代码
https://codeload.github.com/asnowfox/graylog-kafka-output/zip/refs/heads/master
使用:mvn package编译成jar包,放入到plugin目录下,重启graylog
相关推荐
pnoker12 小时前
IoT DC3 消息总线:六适配器可插拔设计
物联网·架构·kafka·消息队列·rabbitmq
cxhello14 小时前
消费者活着、心跳正常、日志干净,但它七天没拉过一条消息
python·kafka
Lost of 程序猿17 小时前
ASP.NET Core Saga 分布式事务深度实战:备件采购跨服务长流程,如何保证“要么全成,要么全回“
分布式·后端·asp.net
XiYang-DING17 小时前
地图城市缓存优化:ApplicationReadyEvent + Caffeine + Redis + Redisson 分布式锁
redis·分布式·缓存
2601_9621756619 小时前
RabbitMQ 的工作模式
分布式·rabbitmq
头茬韭菜20 小时前
图解 Fluss(四):分布式协调 —— 选举、副本状态机与
分布式·fluss
2601_962218612 天前
万象生鲜系统全链路溯源一码查询技术实现食材来源可查
分布式·微服务·云原生·架构
Dreams_l2 天前
RabbitMQ介绍及其工作模式
分布式·rabbitmq
2601_962218612 天前
万象生鲜系统大数据采购预测算法降低库存积压稳居第一
分布式·微服务·云原生·架构
程序员夏洛2 天前
Redis 中如何实现分布式锁?
数据库·redis·分布式