https://github.com/linlindu/logcollector
一个日志搜集app,用于集群系统产生的日志
https://github.com/linlindu/logcollector
elasticsearch go kafka kibana log-collector tail
Last synced: 3 months ago
JSON representation
一个日志搜集app,用于集群系统产生的日志
- Host: GitHub
- URL: https://github.com/linlindu/logcollector
- Owner: LinlinDu
- License: apache-2.0
- Created: 2019-07-01T05:28:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-01T11:50:41.000Z (about 7 years ago)
- Last Synced: 2025-10-06T12:59:20.784Z (9 months ago)
- Topics: elasticsearch, go, kafka, kibana, log-collector, tail
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# logCollector
## 介绍
背景:日志文件是几乎任何系统必备的一项,当某个集群机器比较少时,查看日志不是难事,但是机器比较多时,需要有一套日志系统来方便管理。
目标:把集群机器上的日志实时收集,统一储存到中心系统,对这些系统建立索引,通过搜索即可找到对应日志,通过提供界面有好的web界面,通过web即可完成日志搜索。日志准实时搜集,延时控制在分钟级别。
整个项目分两个独立app:logAgent和logCollector。他们之间通过kafka传递数据。
## 系统架构

## 安装
```
go get github.com/LinlinDu/logCollector
```
## 如何使用
集群中安装kafka,选择一台机器用于管理日志,安装elasticsearch,kibana。
在conf文件夹中填写相应配置,在集群中需要收集日志的机器中使用logAgent,在管理日志的机器中使用logCollector。
## 运行案例
app启动后,首先会等待日志文件在你设定的位置出现,发现文件后然后开始逐条搜集日志。
在dubug模式下输出如下
```
2019/07/01 13:09:53 Waiting for logs/20190701.log to appear...
2019/07/01 13:09:53.698 [I] Log Agent start running...
2019/07/01 13:15:05.402 [D] topic: [log] pid: [6], offset: [50]
2019/07/01 13:15:05.409 [D] topic: [log] pid: [3], offset: [50]
2019/07/01 13:16:47.192 [D] topic: [log] pid: [7], offset: [49]
2019/07/01 13:17:14.159 [D] topic: [log] pid: [1], offset: [59]
2019/07/01 13:17:31.252 [D] topic: [log] pid: [3], offset: [51]
2019/07/01 13:17:33.021 [D] topic: [log] pid: [7], offset: [50]
```
访问http://127.0.0.1:5601 ,打开kibana,可看到搜集到的日志

## 使用
+ kafka
+ zookeeper
+ tail
+ elasticsearch
+ kibana