ps:本次纯属测试,生产需根据自己环境重新配置。
之前本人一直用filebeat,后来因要收集pod日志,觉得filebaet不怎么合适,相对比资源fluent-bit要比filebeat小很多,官方是说bit紧占用600多kb的内存,因为bit是c语言写的。比较轻量。本次是在虚拟机上测试,k8s集群上的下次单独写一篇。
kafka官网:https://kafka.apache.org/
fluent-bit官网:https://docs.fluentbit.io/manual/
部署配置fluent-bit
路径: /etc/fluent-bit/fluent-bit.conf #主配置文件
1、官网下载包或下载源,我的bit是基于yum源装的,官方有提供yum源。
2、改配置。
cd /etc/fluent-bit && cp fluent-bit.conf fluent-bit.conf.bak && vim fluent-bit.conf
[SERVICE]
Flush 5
Daemon off
Log_Level info
[INPUT]
Name tail
Path /var/lib/docker/containers/*/*.log
Tag dockerlog
[OUTPUT]
Name kafka
Match *
Brokers 127.0.0.1:9092
Topics dockerlog
ps: 更多配置请查阅官方文档。
配置启动kafka和zk,我这里是单台部署
ps:要部署jdk环境
1、下包解包,我一般放/usr/local/下,二进制配置文件在config目录,脚本文件在bin目录。
2、配置zk
vim zookeeper.properties
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=0
admin.enableServer=false
3、配置kafka
vim bit-test.properties
broker.id=0
listeners=PLAINTEXT://127.0.0.1:9092
log.dirs=kafka-logs #接收数据目录
zookeeper.connect=localhost:2181
4、启动zk和kafka
启动zk
cd /usr/local/kafka/bin
./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
ss -luntp|grep 2181
启动kafka
./kafka-server-start.sh -daemon ../config/bit-test.properties
ss -luntp|grep 9092
5、测试
//创建topic
./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic dockerlog
//查看所有topic
./kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092
//最后启动bit
systemctl start fluent-bit