loki是grafana团队推出的轻量级日志管理工具,其相比传统的以es为底层的日志管理工具可降低存储成本10x。更多关于loki的架构、使用说明等,请参考官方文档:https://grafana.com/docs/loki/latest/overview/
准备工作,为了测试loki,笔者准备了一个定时的日志输出脚本,日志输出格式如下:
1.loki搭建
1)下载
下载地址:https://github.com/grafana/loki/releases/
选择loki-linux-amd64.zip,复制链接地址wget即可:
2)解压
3)创建配置文件
官方配置文件链接(若该链接过期,请在官方文档处寻找:https://grafana.com/docs/loki/latest/installation/local/):https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
wget该yaml即可:
无需更改,使用默认配置启动loki即可。
4)启动
执行./loki-linux-amd64 -config.file=loki-local-config.yaml启动即可,看到日志最后“Loki started”loki即启动成功。
2.promtail搭建(日志采集端)
1)下载
下载地址:https://github.com/grafana/loki/releases/
选择promtail-linux-amd64.zip,复制链接地址wget即可:
2)解压
3)创建并修改配置文件
官方配置文件链接(若该链接过期,请在官方文档处寻找:https://grafana.com/docs/loki/latest/installation/local/):https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml
wget该yaml即可:
修改配置文件:
关于配置文件的讲解:
server:
http_listen_port: 9080 #promtail的http端口地址
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml #记录当前日志采集状态的文件地址(promtail自动生产)
clients:
- url: http://localhost:3100/loki/api/v1/push #采集的日志投递loki的地址
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels: #标签
job: log-test
__path__: /usr/loki/log-output/*out #日志采集路径
4)启动
3.在grafana实现日志管理
关于grafana如何搭建,请参考笔者相关文章
1)添加数据源
选择loki数据源并配置loki地址,点击save&test后无问题即可。
2)日志管理
选择左侧导航按钮的explore:
选择loki数据源,在查询框左侧选择相应label,grafana会自动填充查询语句:
也可查询日志中出现的指定文本:
其它查询语法请参考官方文档:https://grafana.com/docs/loki/latest/logql/