利用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
相关推荐
Dylanioucn2 小时前
【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
分布式·缓存·云原生
weixin_453965005 小时前
[单master节点k8s部署]31.ceph分布式存储(二)
分布式·ceph·kubernetes
坎坎坷坷.5 小时前
分布式理论:拜占庭将军问题
分布式
极客先躯11 小时前
高级java每日一道面试题-2024年10月3日-分布式篇-分布式系统中的容错策略都有哪些?
java·分布式·版本控制·共识算法·超时重试·心跳检测·容错策略
niu_sama12 小时前
仿RabbitMQ实现消息队列三种主题的调试及源码
分布式·rabbitmq
鸡c12 小时前
rabbitMq------客户端模块
分布式·rabbitmq·ruby
猿java13 小时前
使用 Kafka面临的挑战
java·后端·kafka
Dylanioucn13 小时前
【分布式微服务云原生】探索Redis:数据结构的艺术与科学
数据结构·redis·分布式·缓存·中间件
路上^_^13 小时前
00_概览_kafka
分布式·kafka
极客先躯20 小时前
Hadoop krb5.conf 配置详解
大数据·hadoop·分布式·kerberos·krb5.conf·认证系统