日志收集项目
为什么要自己写不用ELK?
ELK: 部署的时候麻烦每一个filebeat都需要配置一个配置文件
使用etcd来管理被收集的日志项。
项目的架构
上节课项目进度
- kafka:消息队列
- tailf:从文件里读日志
- go-ini:解析配置文件
etcd
etcd介绍
详见群文件:etcd.pdf
http://www.5lmh.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C/go%E6%93%8D%E4%BD%9Cetcd/%E6%93%8D%E4%BD%9Cetcd.html
安装etcd
详见:https://docs.qq.com/doc/DTndrQXdXYUxUU09O
Ubuntu安装etcd
下载:etcd-v3.3.18-linux-amd64
解压文件即可使用,无需安装
go操作etcd
命令行操作:使用自带的
注意一定要使用V3版本的API
先设置环境变量:
启动服务端
进入安装目录中
客户端操作:
PUT:
GET:
DEL:
go mod设置代理:
PUT/GET
watch
非常重要
使用etcd优化日志收集项目
本周任务
Raft协议
- 选举
- 日志复制机制
- 异常处理(脑裂)
- zookeeper的zad协议的区别