说明
通过在运维平台上配置日志收集项,logAgent从etcd中获取要收集的日志信息从业务服务器读取日志信息,发往kafka,logTransfer负责从kafka读取日志,写入到Elasticsearch中,通过Kibana进行日志检索。系统性能数据的收集有Node_Exporter进行采集,Prometheus拉取入库,将告警信息推给AlertManager,最后通过Grafana进行可视化展示。
-
读取日志文件
-
写入到kafka中
-
可以自行配置要收集的日志文件
-
从etcd中获取日志收集项
-
logAgent可以同时运行多个日志收集任务
-
实现实时配置项变更
-
根据当前服务器的IP地址获取配置项
-
实现日志入库到ES
-
使用第三方日志框架logrus保存日志
-
支持日志文件切割
-
加入消费组,支持多个topic
-
tail包从上次读取的位置开始读
logManager是有Beego框架搭建起来的web服务,主要是为了方便管理日志收集项
-
从后台界面添加主机和日志收集项
-
Cookie和Session实现
-
后台访问鉴权
-
CURD增删改查操作完成
-
使用redis进行缓存
-
实现从logManager进行添加/删除/修改日志收集项
-
logAgent获取logManager界面增删改的收集项
-
logManager使用redis进行缓存
-
logManager添加收集项之后将配置发给etcd
-
logAgent从etcd获取到收集项进行收集并监听变更
-
logTransfer从etcd获取配置写ES
Go运维开发之日志收集(3)根据etcd配置项创建多个tailTask
Go运维开发之日志收集(5)根据IP地址去拉取配置日志收集项