命令列工具
grafana/loki avatar
grafana/loki

loki:從 README 拆解功能、限制與採用條件

就像普羅米修斯一樣,但是用於日誌。透過儲存壓縮的非結構化日誌並且僅索引元數據,Loki 的操作更簡單且運行成本更低。

28,892 個 Star4,110 個 ForkGoAGPL-3.0

秒懂

它是什麼?
Like Prometheus, but for logs. By storing compressed, unstructured logs and only indexing metadata, Loki is simpler to operate and cheaper to run.。本文整理 grafana/loki 的使用入口、環境條件、功能邊界與專案專屬核驗方式。
適合誰用?
loki 適合需要 README 所列能力,且能管理其環境與設定的使用者;不適合把範例或未說明行為當成正式保證。先執行:依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。
可以商用嗎?
可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
還在維護嗎?
有在維護。儲存庫在最近一天內有新的提交。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

loki:專案定位

grafana/loki 的 README 將專案描述為「Like Prometheus, but for logs.」。本文只整理倉庫可直接核對的內容,不把 star、Fork 或宣傳語當成品質證明。README 在「Loki: like Prometheus, but for logs.」下寫到:Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate.。這說明的是專案邊界,不是已完成的生產驗證。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。

loki:適用場景

從 README 的「Loki: like Prometheus, but for logs.」與相關條目,可以先判斷它是否處理你的實際問題:indexes and groups log streams using the same labels you're already using with Prometheus, enabling you to directly switch between metrics and logs using the same labels that you're already using with Prometheus.。若需求不同,不應只因專案熱度就採用。本文保留原始專案名、命令與元件名,方便回到一手來源核對。 README 另外列出一項可核對的資訊:does not do full text indexing on logs. By storing compressed, unstructured logs and only indexing metadata, Loki is simpler to operate and cheaper to run.。這類原文條目可用來設計試跑步驟,但不能取代實際環境測試。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 2 節第 2 段)

loki:運作方式

README 將運作方式分散在「Loki: like Prometheus, but for logs.」等段落。可確認的線索包括:A Loki-based logging stack consists of 3 components:。本文不把未寫出的架構、效能或安全邊界補成結論;真正的執行鏈仍要配合目錄、設定檔與版本標籤檢查。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 3 節第 2 段)

loki:安裝與第一次執行

第一次安裝應從 README 指出的入口開始。目前可核對的命令是:

# Checkout source code $ git clone https://github.com/grafana/loki $ cd loki

# Build binary $ go build ./cmd/loki

# Run executable $ ./loki -config.file=./cmd/loki/loki-local-config.yaml

如果倉庫沒有命令,本文不會自行編造步驟,而是建議先閱讀「Getting started」,確認系統依賴、預設埠與首次初始化。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 4 節第 6 段)

loki:設定與日常使用

日常使用取決於專案文件。README 的「Loki: like Prometheus, but for logs.」段落提到:Note that Alloy replaced Promtail in the stack, because Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy.。設定檔、環境變數、權限與資料目錄只在來源明確時才會記錄;沒有寫出的預設值,應在測試環境驗證並保留回滾副本。 同一部分也提到:is an especially good fit for storing Kubernetes Pod logs. Metadata such as Pod labels is automatically scraped and indexed.。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 5 節第 2 段)

loki:README 能確認的限制

README 能確認的限制比宣傳頁更重要。現有來源沒有證明grafana/loki具備固定相容矩陣、服務等級、效能基準或長期支援承諾。README 只明確寫到「Loki is like Prometheus, but for logs: we prefer a multidimensional label-based approach to indexing, and want a single-binary, easy to operate system with no dependencies.」。這些未知項應列入選型紀錄,不要改成肯定句。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 6 節第 2 段)

loki:安全、隱私與授權

授權資訊來自倉庫資料與 LICENSE:目前 SPDX 標識為 AGPL-3.0。這代表分發和修改要依授權處理,但不等於完成安全審查。憑證管理、網路暴露、日誌保存與第三方依賴若未在 README 說明,仍需逐項檢查。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 7 節第 2 段)

loki:維護與升級觀察點

維護判斷只能引用可追溯訊號:預設分支為 main,快照記錄 28668 個 star、4070 個 fork、1714 個開放 issue。README 的「️ Helm Chart Migration」寫到:Effective March 16, 2026, the Grafana Loki Helm chart will be forked to a new repository grafana-community/helm-charts for details.。這可用來安排升級複核,不能取代變更測試。 維護時也應對照 README 的「Getting Help」段落:If you have any questions or feedback regarding Loki:。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 這段檢查只核對 grafana/loki README 已列出的入口與產物,文件未說明的效能、相容性或安全性不延伸成保證。(loki 第 8 節第 2 段)

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 1 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 2 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 3 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 4 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 5 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 6 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 7 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 8 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 9 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。 第 10 次核對應記錄實際輸入、輸出與日誌,確認 loki 的範例是否在目標環境重現;若 README 沒有對應說明,就把它列為待確認條件,不以推測補足。

編輯結論

loki 適合需要 README 所列能力,且能管理其環境與設定的使用者;不適合把範例或未說明行為當成正式保證。先執行:依 Loki installation 與 Grafana Alloy send-data 文件部署,讓 Alloy 推送帶有 Kubernetes Pod labels 的日誌,再用 LogQL、LogCLI 及 Grafana Loki data source 查詢 label 與內容。,再依具體輸出決定是否納入既有流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記