日志聚合系统GrafanaLoki 一、初试
为了快速定位、排查问题的,那么需要一个日志聚合、搜索的工具或者系统。
简介
Loki是一个受普罗米修斯启发的水平可伸缩、高可用性、多租户日志聚合系统。它的设计是非常有效的成本和易于操作。它不索引日志的内容,而是为每个日志流设置一组标签。
相关组件
- Loki是主服务器,负责存储日志和处理查询。
- Promtail是代理,负责收集日志并将其发送给 loki 。
- Grafana用于 UI 展示。
部署
这里在Linux环境下,使用docker-compose的方式部署, 采集os的日志,主要分以下几个步骤:
- 启动 loki 、promtail、grafana
- 配置日志收集方式
- 观测日志是否采集、聚合
启动 loki 、promtail、grafana
在工作目录底下创建 docker-compose.yaml
version: "3"
networks:
loki:
services:
loki:
image: grafana/loki:latest
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml
networks:
- loki
promtail:
image: grafana/promtail:latest
volumes:
- /var/log:/var/log
command: -config.file=/etc/promtail/config.yml
networks:
- loki
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
networks:
- loki
查看是否启动:
docker-compose ls
输出:
smartgo$ docker-compose ls
NAME STATUS CONFIG FILES
xloki running(3) /home/smartgo/xloki/docker-compose.yaml
配置数据源
访问Grafana: yournode:3000 ,选择数据源:Explore–DataSource 可以看到Grafana支持的数据源,点击选择 Loki 设置地址为:
http://loki:3100
保存即可,点击 SaveAndTest
观测日志是否采集、聚合
搜索日志,选择数据源Loki,选择文件类型和文件路径,具体如下
小结
本文主要初步介绍日志聚合、搜索系统Loki,以及如何docker部署,Grafana配置,搜索日志。
ToDo
- 收集Dockers的日志
- LogQL https://grafana.com/docs/loki/latest/logql/
reference
- Loki Github: https://github.com/grafana/loki/
- Loki DockerCompose 安装 https://grafana.com/docs/loki/latest/installation/docker/