利用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
相关推荐
禺垣1 小时前
区块链技术概述
大数据·人工智能·分布式·物联网·去中心化·区块链
zhuhit4 小时前
FASTDDS的安全设计
分布式·机器人·嵌入式
暗影八度4 小时前
Spark流水线+Gravitino+Marquez数据血缘采集
大数据·分布式·spark
库森学长4 小时前
Kafka为什么这么快?
后端·面试·kafka
q567315235 小时前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
不爱学英文的码字机器5 小时前
数据网格的革命:从集中式到分布式的数据管理新范式
分布式
优秀的颜9 小时前
计算机基础知识(第五篇)
java·开发语言·分布式
棠十一16 小时前
Rabbitmq
分布式·docker·rabbitmq
Lansonli16 小时前
大数据Spark(六十一):Spark基于Standalone提交任务流程
大数据·分布式·spark
Theodore_102218 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构