说到分布式日志存储系统,大家肯定对ELK
、EFK
这些工具并不陌生。可是它们都基于Elasticsearch
存储,搭建复杂,耗资源,上手难。所以,个人非常推崇Grafana Labs
开源的Loki 轻量级日志聚合分析系统
Loki
使用标签来作为索引,而不是对全文进行检索,所以在搜索上会有一定的局限性。但是,也能满足我们的需求。搭建Loki
,我们需要安装三个组件,promtail
收集日志到Loki
,Loki
日志存储中心,Grafana
作为UI展示。
安装方式有多种,我选择了二进制安装方式。二进制文件可以去https://github.com/grafana/loki/releases/
下载,需要下载Loki
和promtail
,我这里安装的是次新版本 2.7.5
1、安装包
2、创建loki的数据目录(注意目录的属主与权限)
3、安装软件
4、配置loki服务端配置文件
5、启动loki服务进程
6、配置promtail客户端采集服务配置文件
7、启动promtail采集进程
8、安装Grafana(略)
9、loki对接grafana
添加一个Loki
的数据源
接下来,还有一个关键参数一定要加。在Header
上添加X-Scope-OrgID
参数,参数值根据实际情况填写,默认tenant1
,然后点击[Save&test
]
接下来,我们去查询收集到的日志
选择 loki 作为 grafana的展示数据源,labels 输入LogQL的表达式 如:{job="mysql-log"} , /data/mysql/mysql3306/logs/mysql.err 动态的被promtail+loki+grafana 采集展示
至此,来体验你自己的轻量级日志聚合系统吧