利用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
相关推荐
鸽鸽程序猿9 小时前
【RabbitMQ】简介
分布式·rabbitmq
在未来等你9 小时前
Kafka面试精讲 Day 29:版本升级与平滑迁移
大数据·分布式·面试·kafka·消息队列
在未来等你10 小时前
Kafka面试精讲 Day 30:Kafka面试真题解析与答题技巧
大数据·分布式·面试·kafka·消息队列
在未来等你12 小时前
Elasticsearch面试精讲 Day 30:Elasticsearch面试真题解析与答题技巧
大数据·分布式·elasticsearch·搜索引擎·面试
在未来等你12 小时前
Elasticsearch面试精讲 Day 27:备份恢复与灾难恢复
大数据·分布式·elasticsearch·搜索引擎·面试
菜鸡儿齐21 小时前
spark组件-spark core(批处理)-rdd创建
大数据·分布式·spark
keke_俩个科1 天前
ShardingSphere分库分表基础配置与使用说明
java·数据库·分布式·spring
扁豆的主人1 天前
分布式一致性
分布式
回家路上绕了弯2 天前
外卖员重复抢单?从技术到运营的全链路解决方案
分布式·后端