在分布式应用架构中,日志的集中收集、存储与分析是保障系统稳定运行的关键环节。Grafana Loki是轻量级日志聚合系统,具有与Promtail、Grafana的无缝集成能力。本文将详细介绍如何搭建基于Grafana Loki的系统日志平台,实现跨服务器的日志统一监控。
一、日志服务器部署:安装Grafana与Loki
日志服务器是整个日志平台的核心,负责日志的存储(Loki)和可视化展示(Grafana)。以下步骤将在服务器(示例 IP:61.191.20.25)完成部署。
1、快速安装Grafana可视化工具
Grafana 提供直观的日志可视化界面,通过 Docker 可快速启动:
docker run -d –name=grafana -p 3000:3000 grafana/grafana:latest
启动后,访问 http://61.191.20.25:3000 进入 Web 界面。
默认登录凭证:用户名 admin,密码 admin(首次登录需修改)
若需进入容器内部操作,可执行:
docker exec -it grafana bash
注意:Grafana 依赖服务发现机制,需确保 Consul 服务正常运行。若未部署 Consul,可通过以下命令启动:
docker run -d –name=consul -p 8500:8500 consul:latest
启动后可访问 http://61.191.20.25:8500 验证 Consul 是否正常运行(端口 8500 需处于监听状态)。
2、配置Loki日志存储服务
Loki 负责日志的接收与存储,需先创建配置文件定义其运行规则。
步骤 1:创建Loki 配置文件
在当前目录新建 loki-config.yml,最新版本配置示例如下(根据实际需求调整存储与索引策略):
步骤 2:启动Loki容器
确保配置文件就绪后,执行以下命令启动 Loki(若已有旧容器需先清理):
docker stop loki # 停止旧容器(若存在)
docker rm loki # 删除旧容器(若存在)
Loki 默认监听 3100 端口,后续将通过此端口接收 Promtail 发送的日志。配置文件通过挂载方式注入容器,便于后续修改。
二、部署Promtail日志收集器
Promtail 是 Loki 官方配套的日志收集工具,需部署在每个应用服务器(示例服务器 IP:61.191.20.27),负责收集本地日志并推送到 Loki 服务器。
1、定位需收集的日志文件
首先确认应用服务器上的日志路径,例如查找所有包含 “center.log” 的文件:
find / -type f -name ‘*center.log’
本文以收集 /merged/logs/ 目录下的所有 .log 文件为例。
2、配置Promtail收集规则
步骤 1:创建配置文件目录
在应用服务器(61.191.20.27)上创建存放 Promtail 配置的目录:
步骤 2:编写Promtail配置文件
步骤 3:创建位置记录文件
Promtail 通过 positions.yaml 记录日志读取进度,需提前创建空文件:
vim /opt/promtail/positions.yaml # 直接保存空文件即可
3、启动Promtail容器
通过 Docker 启动 Promtail,并挂载配置文件、日志目录和位置文件:
参数说明:
- -v 挂载本地文件到容器,ro 表示只读(保护源文件)
- 位置文件挂载确保容器重启后从断点继续收集日志
4、验证Promtail运行状态
检查容器日志(无错误即为正常):
docker logs promtail
查看日志收集进度:
docker exec -it promtail bash
cat /opt/promtail/positions.yaml # 显示已读取的日志位置信息
三、关联Grafana与Loki
完成Loki和 Promtail 部署后,需在 Grafana 中添加 Loki 数据源,实现日志可视化查询。
登录 Grafana:访问 http://61.191.20.25:3000,使用账号密码登录
进入数据源配置:左侧菜单点击 Configuration(配置) → Data Sources(数据源)
添加 Loki 数据源:点击 Add data source,搜索并选择 Loki
配置连接信息:在 URL 字段输入 Loki 服务地址 http://61.191.20.25:3100
测试并保存:点击 Save & Test,显示 “Data source is working” 即为成功
四、创建Grafana仪表板与查询面板
通过 Grafana 的仪表板可直观展示日志数据,以下是创建步骤:
1、新建仪表板
点击左侧 + 图标 → 选择 Dashboard → 进入空白仪表板
2、添加日志查询面板
点击 Add new panel 进入面板配置页
选择数据源:在面板设置中选择 Loki 作为数据源
配置 LogQL 查询:
基础查询示例:{job=”varlogs”}(筛选标签为 varlogs 的日志)
过滤错误日志:{job=”varlogs”} |= “error”(包含 “error” 关键字的日志)
时间段筛选:通过面板顶部时间选择器指定查询范围
自定义面板:设置标题(如 “应用错误日志”)、调整显示样式
保存面板:点击右上角 Apply 保存当前面板
相关阅读:《2025年十大热门开源软件工具盘点》
-
广告合作
-
QQ群号:4114653


















