学习filebeat入门

filebeat + kafka日志收集

背景

入职新公司,让我用filebeat 收集日志输出到kafka,做简单的日志收集工作

filebeat安装

本机用的是mac os所以直接采用brew 安装filebeat

brew install filebeat

安装完成之后

~  filebeat version
filebeat version 7.10.0 (amd64), libbeat 7.10.0 [1428d58cf2ed945441fb2ed03961cafa9e4ad3eb built 2020-11-09 19:57:03 +0000 UTC]

zookeeper和kafka安装

安装zookeeper

brew install zookeeper

验证完成

~  brew services list
Name              Status  User        Plist
tomcat            stopped
zookeeper         stopped

启动zookeeper

brew services start zookeeper

验证启动

~  brew services list
Name              Status  User        Plist
tomcat            stopped
zookeeper         started dacheng.sun /Users/dacheng.sun/Library/LaunchAgents/homebrew.mxcl.zookeeper.plist

安装kafka

brew 安装kafka

brew install kafka

验证安装

~  brew services list
Name              Status  User        Plist
tomcat            stopped
kafka             stopped
zookeeper         started dacheng.sun /Users/dacheng.sun/Library/LaunchAgents/homebrew.mxcl.zookeeper.plist

启动kafka

~  brew services start kafka
~  brew services list
Name              Status  User        Plist
tomcat            stopped
kafka             started dacheng.sun /Users/dacheng.sun/Library/LaunchAgents/homebrew.mxcl.kafka.plist
zookeeper         started dacheng.sun /Users/dacheng.sun/Library/LaunchAgents/homebrew.mxcl.zookeeper.plist

启动一个golang服务定时输出日志

func main() {
	fd, _ := os.OpenFile("a.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
	defer fd.Close()
	for true {
		fd_content := strings.Join([]string{`time="2020-12-11T16:14:34+08:00" level=info msg="kuaishou SyncVendorAllDataList sync ks all data start, seq:0, length:1274, index:83, vendor account id:3651, 7825762" func="go-makepolo/adserver/cron.(*KuaishouSyncHistoryCron).SyncVendorAllDataList.func1" file="ad_history_cron.go:170"`, "\n"}, "")
		buf := []byte(fd_content)
		fd.Write(buf)
		time.Sleep(2 * time.Second)
	}
}

启动filebeat

filebeat config yml

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /data/deploy/makepolo/adserver/log.log #读取文件位置 完整路径
#output.console: #这个是直接输出到console的
#  pretty: true
#  enable: true
output.kafka:
  hosts: ["127.0.0.1:9092"]
  topic: filebeat_a_log
  version: 2.0.0
  enable: true

启动filebeat

filebeat -e -c {filebeat_path}/filebeat_config_test.yml # 完整路径

启动kafka 消费者

~  kafka-console-consumer --bootstrap-server localhost:9092 --topic filebeat_a_log --from-beginning
{"@timestamp":"2020-12-11T08:04:22.241Z","@metadata":{"beat":"filebeat","type":"_doc","version":"7.10.0"},"agent":{"id":"e375f1ee-4183-4248-9f03-dfd7cc5f72be","name":"MacBook-Pro.local","type":"filebeat","version":"7.10.0","hostname":"MacBook-Pro.local","ephemeral_id":"4521e0b0-eb3d-4861-ba7c-f0cff6c4ab45"},"ecs":{"version":"1.6.0"},"log":{"offset":57997,"file":{"path":"/Users/dacheng.sun/go/src/study/a.log"}},"message":"======2020-12-11 16:04:20=====test log","input":{"type":"log"},"host":{"name":"MacBook-Pro.local"}}
{"@timestamp":"2020-12-11T08:04:23.247Z","@metadata":{"beat":"filebeat","type":"_doc","version":"7.10.0"},"message":"======2020-12-11 16:04:22=====test log","input":{"type":"log"},"ecs":{"version":"1.6.0"},"host":{"name":"MacBook-Pro.local"},"agent":{"version":"7.10.0","hostname":"MacBook-Pro.local","ephemeral_id":"4521e0b0-eb3d-4861-ba7c-f0cff6c4ab45","id":"e375f1ee-4183-4248-9f03-dfd7cc5f72be","name":"MacBook-Pro.local","type":"filebeat"},"log":{"offset":58036,"file":{"path":"/Users/dacheng.sun/go/src/study/a.log"}}}
{"@timestamp":"2020-12-11T08:04:26.257Z","@metadata":{"beat":"filebeat","type":"_doc","version":"7.10.0"},"host":{"name":"MacBook-Pro.local"},"agent":{"name":"MacBook-Pro.local","type":"filebeat","version":"7.10.0","hostname":"MacBook-Pro.local","ephemeral_id":"4521e0b0-eb3d-4861-ba7c-f0cff6c4ab45","id":"e375f1ee-4183-4248-9f03-dfd7cc5f72be"},"log":{"offset":58075,"file":{"path":"/Users/dacheng.sun/go/src/study/a.log"}},"message":"======2020-12-11 16:04:24=====test log","input":{"type":"log"},"ecs":{"version":"1.6.0"}}
{"@timestamp":"2020-12-11T08:04:27.260Z","@metadata":{"beat":"filebeat","type":"_doc","version":"7.10.0"},"log":{"offset":58114,"file":{"path":"/Users/dacheng.sun/go/src/study/a.log"}},"message":"======2020-12-11 16:04:26=====test log","input":{"type":"log"},"ecs":{"version":"1.6.0"},"host":{"name":"MacBook-Pro.local"},"agent":{"id":"e375f1ee-4183-4248-9f03-dfd7cc5f72be","name":"MacBook-Pro.local","type":"filebeat","version":"7.10.0","hostname":"MacBook-Pro.local","ephemeral_id":"4521e0b0-eb3d-4861-ba7c-f0cff6c4ab45"}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值