在分布式應用架構中,日志的集中收集、存儲與分析是保障系統(tǒng)穩(wěn)定運行的關鍵環(huán)節(jié)。Grafana Loki是輕量級日志聚合系統(tǒng),具有與Promtail、Grafana的無縫集成能力。本文將詳細介紹如何搭建基于Grafana Loki的系統(tǒng)日志平臺,實現(xiàn)跨服務器的日志統(tǒng)一監(jiān)控。
一、日志服務器部署:安裝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(首次登錄需修改)
若需進入容器內(nèi)部操作,可執(zhí)行:
docker exec -it grafana bash
注意:Grafana 依賴服務發(fā)現(xiàn)機制,需確保 Consul 服務正常運行。若未部署 Consul,可通過以下命令啟動:
docker run -d –name=consul -p 8500:8500 consul:latest
啟動后可訪問 http://61.191.20.25:8500 驗證 Consul 是否正常運行(端口 8500 需處于監(jiān)聽狀態(tài))。
2、配置Loki日志存儲服務
Loki 負責日志的接收與存儲,需先創(chuàng)建配置文件定義其運行規(guī)則。
步驟 1:創(chuàng)建Loki 配置文件
在當前目錄新建 loki-config.yml,最新版本配置示例如下(根據(jù)實際需求調(diào)整存儲與索引策略):
步驟 2:啟動Loki容器
確保配置文件就緒后,執(zhí)行以下命令啟動 Loki(若已有舊容器需先清理):
docker stop loki # 停止舊容器(若存在)
docker rm loki # 刪除舊容器(若存在)
Loki 默認監(jiān)聽 3100 端口,后續(xù)將通過此端口接收 Promtail 發(fā)送的日志。配置文件通過掛載方式注入容器,便于后續(xù)修改。
二、部署Promtail日志收集器
Promtail 是 Loki 官方配套的日志收集工具,需部署在每個應用服務器(示例服務器 IP:61.191.20.27),負責收集本地日志并推送到 Loki 服務器。
1、定位需收集的日志文件
首先確認應用服務器上的日志路徑,例如查找所有包含 “center.log” 的文件:
find / -type f -name ‘*center.log’
本文以收集 /merged/logs/ 目錄下的所有 .log 文件為例。
2、配置Promtail收集規(guī)則
步驟 1:創(chuàng)建配置文件目錄
在應用服務器(61.191.20.27)上創(chuàng)建存放 Promtail 配置的目錄:
步驟 2:編寫Promtail配置文件
步驟 3:創(chuàng)建位置記錄文件
Promtail 通過 positions.yaml 記錄日志讀取進度,需提前創(chuàng)建空文件:
vim /opt/promtail/positions.yaml # 直接保存空文件即可
3、啟動Promtail容器
通過 Docker 啟動 Promtail,并掛載配置文件、日志目錄和位置文件:
參數(shù)說明:
- -v 掛載本地文件到容器,ro 表示只讀(保護源文件)
- 位置文件掛載確保容器重啟后從斷點繼續(xù)收集日志
4、驗證Promtail運行狀態(tài)
檢查容器日志(無錯誤即為正常):
docker logs promtail
查看日志收集進度:
docker exec -it promtail bash
cat /opt/promtail/positions.yaml # 顯示已讀取的日志位置信息
三、關聯(lián)Grafana與Loki
完成Loki和 Promtail 部署后,需在 Grafana 中添加 Loki 數(shù)據(jù)源,實現(xiàn)日志可視化查詢。
登錄 Grafana:訪問 http://61.191.20.25:3000,使用賬號密碼登錄
進入數(shù)據(jù)源配置:左側菜單點擊 Configuration(配置) → Data Sources(數(shù)據(jù)源)
添加 Loki 數(shù)據(jù)源:點擊 Add data source,搜索并選擇 Loki
配置連接信息:在 URL 字段輸入 Loki 服務地址 http://61.191.20.25:3100
測試并保存:點擊 Save & Test,顯示 “Data source is working” 即為成功
四、創(chuàng)建Grafana儀表板與查詢面板
通過 Grafana 的儀表板可直觀展示日志數(shù)據(jù),以下是創(chuàng)建步驟:
1、新建儀表板
點擊左側 + 圖標 → 選擇 Dashboard → 進入空白儀表板
2、添加日志查詢面板
點擊 Add new panel 進入面板配置頁
選擇數(shù)據(jù)源:在面板設置中選擇 Loki 作為數(shù)據(jù)源
配置 LogQL 查詢:
基礎查詢示例:{job=”varlogs”}(篩選標簽為 varlogs 的日志)
過濾錯誤日志:{job=”varlogs”} |= “error”(包含 “error” 關鍵字的日志)
時間段篩選:通過面板頂部時間選擇器指定查詢范圍
自定義面板:設置標題(如 “應用錯誤日志”)、調(diào)整顯示樣式
保存面板:點擊右上角 Apply 保存當前面板
相關閱讀:《2025年十大熱門開源軟件工具盤點》
-
廣告合作
-
QQ群號:4114653