ETCD

日志收集项目


为什么要自己写不用ELK?


ELK: 部署的时候麻烦每一个filebeat都需要配置一个配置文件


使用etcd来管理被收集的日志项。


项目的架构



上节课项目进度



  1. kafka:消息队列

  2. tailf:从文件里读日志

  3. 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


命令行操作:使用自带的etcdctl


注意一定要使用V3版本的API


先设置环境变量:

启动服务端
进入安装目录中/usr/local/etcd-v3.3.18-linux-amd64

客户端操作:


PUT:

GET:

DEL:

go mod设置代理:

PUT/GET

watch


非常重要

使用etcd优化日志收集项目

本周任务


  1. Raft协议



    1. 选举

    2. 日志复制机制

    3. 异常处理(脑裂)

    4. zookeeper的zad协议的区别