Go进阶45:Golang-logrus简单的日志收集系统(替代ELKB)
1. 背景

不废话, Golang 日志查看疼点

  1. linux查看日志,一般开发者对linux命令不是很熟悉, 搜索日志更加难上加难

  2. JAVA生态 ELKB 日志收集搭建复杂,

  3. 需要的是一个快速查看搜索,客户端来搜索日志

go语言中文文档:www.topgoer.com

转自:https://mojotv.cn/go/golang-ELKB

1.1 前期准备

我们可以使用logrus( logrus 是一个非常容易扩展的golang 日志库 logrus使用教程 ) hook 快速的输出日志到Elastic Search 在使用Chrome Elastic Search GUI插件快速的定位你想用的日志.

docker run -d --name es.dev -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" elastic/elasticsearch:6.7.1
2. 安装ES数据库

你可以去网上搜搜索 es数据库安装,在本教程中我们就来安装一个 docker es 单节点 (处理golang日志性能足够)

docker pull elasticsearch:6.7.0docker run -d --name mojocn.es -p 9201:9200 -p 9301:9300 -e "discovery.type=single-node" elastic/elasticsearch:6.7.1

这样就您就启动了一个 名字为 mojocn.es 端口 9201的单节点数据库.

3. 编写实现 logrus HOOK interface (核心代码)

main.go 完整代码: https://github.com/mojocn/eslogrushook

4. Chrome 插件 ElasticSearch Head 日志查看

  1. Chrome 插件 ElasticSearch Head: 配置ES 连接地址

  2. 查看/搜索 logrus日志