1. 程式人生 > 實用技巧 >評測Loki日誌工具

評測Loki日誌工具

評測Loki日誌工具

目錄

本文僅對Loki進行簡單評測,不涉及原理和細節。

部署Loki

Loki是grafana團隊開發一個日誌採集工具。使用推薦使用helm方式安裝loki,官方推薦的tanka需要使用aws的s3服務。安裝helm後直接執行如下命令即可在loki名稱空間中部署最簡單的loki套件。

# helm repo add loki https://grafana.github.io/loki/charts
# helm upgrade --install loki loki/loki-stack

使用如下命令可以檢視loki

支援的charts

# helm search repo loki
NAME CHART VERSION APP VERSION DESCRIPTION
loki/loki 0.30.1 v1.5.0 Loki: like Prometheus, but for logs.
loki/loki-stack 0.38.1 v1.5.0 Loki: like Prometheus, but for logs.
loki/fluent-bit 0.1.4 v1.5.0 Uses fluent-bit Loki go plugin for gathering lo...
loki/promtail 0.23.2 v1.5.0 Responsible for gathering logs and sending them...

如果使用openshift平臺,則需要進行scc授權

# oc adm policy add-scc-to-user privileged -z loki
# oc adm policy add-scc-to-user privileged -z loki-promtail

如果promtail pod因為許可權問題無法讀取hostpath掛載的目錄,直接給promtail daemonset使用的serviceaccount loki-promtail

授權privileged許可權即可。

如果grafana是叢集外部的,需要配置ingress,以訪問Loki。openshift直接建立router即可。

配置grafana

參考官方配置檔案

部署好Loki之後,在grafana中配置Loki的datasource

在exporter中就可以通過Loki自動生成的標籤檢視日誌資訊。

目前grafana僅有Logs dashboard支援Loki,如果要使用圖表的話只能通過explore,相對不那麼方便,且exolore的圖表無法儲存。另外grafana的Logs dashboard可以支援簡單的檢索過濾,實現方式參考該文

總結:

優勢:

Loki日誌系統相比傳統的ELK要輕便很多,其使用了類似Prometheus的方式進行日誌的匹配過濾等,日誌採集檢視的思路很新穎。

劣勢:

受制於該工具比較新,很多地方還待完善。如dashboard對Loki的支援力度遠遠不夠,基於Loki日誌的告警目前也很不方便

相信在後續的版本解決和完善這些不便之處後,Loki會成為一個非常好用的工具。此外,在官方的explore介紹中可以看到,grafana還對Tracing進行了整合,由此看到,grafana最終的目標可能是實現log,metric和tracing的大統一。