前言

9bf14891-face-489d-98d4-21ead5aa96fc

在云原生和微服务架构盛行的今天,日志管理已成为系统可观测性的核心环节。传统的日志解决方案(如ELK Stack)虽然功能强大,但其复杂的配置和高昂的资源消耗常令开发者望而却步。Grafana Loki(简称Loki)以其轻量化的设计、与Prometheus标签体系的深度兼容,以及与Grafana的无缝集成,正在成为新一代日志聚合的热门选择。本教程将通过Docker-Compose方式,快速搭建Loki日志系统并整合Grafana实现可视化。


1. 安装 docker-compose

Docker 和 Docker-Compose 安装方法参考:https://opsnote.top/archives/dockerru-men-1-er-jin-zhi-an-zhuang


2. 拉取Loki docker-compose.yml一键部署文件

因为某些原因,拉取失败可以多拉取几次

$ git clone https://github.com/Public-Compose/Loki-Grafana.git

3. 启动容器

各个组件的镜像已改为阿里源,境内可正常拉取

$ cd Loki-Grafana
$ docker-compose up -d

4. 添加权限重启

$ chmod 777 -R grafana loki
$ docker-compose restart

5. 地址测试

查一下容器状态是否都正常

$ docker-compose ps

**Loki地址:**http://IP:3100

Grafana访问地址:http://IP:3000 账号: admin 密码: admin


6. Grafana添加数据源

选择 Configuration -- data sources -- Add data sources -- Loki

image-20250401145433868

**URL:**http://loki:3100

  • 保存出现警告 Data source connected, but no labels received. Verify that Loki and Promtail is configured properly. ,由于当前还没有日志上传上来,出现这个警告属于正常现象

7. 日志接入测试

7.1 拉取Promtail docker-compose.yml

$ git clone https://github.com/Public-Compose/Promtail.git

7.2 修改配置文件中Loki地址

$ cd Promtail && vim conf/config.yml
server:
  http_listen_port: 9080
  grpc_listen_port: 0

positions:
  filename: /tmp/positions.yaml

clients:
  - url: http://172.17.99.123:3100/loki/api/v1/push  # Loki地址,端口默认使用3100

scrape_configs:
- job_name: system
  static_configs:
  - targets:
      - localhost
    labels:
      job: varlogs
      __path__: /var/log/*log

7.3 启动 Promtail 容器

$ docker-compose up -d

7.2 Grafana 查看实时日志

image-20250402124154834

至此,Loki+Grafana的部署已完成,日志的可视化方案可以通过Grafana实现。对于告警管理,下一篇写写Loki如何接入夜莺告警引擎。

文章作者: hzbb
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 运维小记
Loki Loki
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝