《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 26 Loki - 把 Log 蒐集儲存起來吧

本篇大綱

這篇要來介紹 Log 儲存,基於 Time Series 的 Log 儲存系統,安裝在 K8s 上並且跟 Grafana 串起來。

內文

今天會採用的是 Grafana Labs 開發的 Loki,這是基於 Time series 的 Log 儲存系統,會接上 Promtail 蒐集每個 Container 的 Log,傳送到 Loki 做儲存。

day26-01.png

安裝 Loki

按照往常慣例先加入 Grafana 的 Repo:

1
2
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

day26-02.png

加入好了以後,這次會使用 loki-stack 這個 Chart 2.8.3 版本,最基礎的蒐集 Log 也有在裡面了,loki-distributed 是微服務版本,需要去細分他們的 Write flow 跟 Read flow,有需求的可以讀文件。

day26-03.png

loki-stack 就是 Monolithic mode 版本,不過小型這樣也夠了,有需要再去換成 loki-distributed 就好。

day26-04.png

那就把 loki-stack value 抓下來吧!

1
2
helm show values grafana/loki-stack --version 2.8.3 > values.yaml
vim values.yaml

看一下裡面的內容,確認 .loki.enabled.promtail.enabled 都是 true 就好,其他都是 false,除非評估有需要用到 filebeat 或 logstash 服務,不然 Promtail 蒐集 Log 就很夠用了。

接下來就安裝進去吧:

1
2
kubectl create namespace loki
helm install -f values.yaml loki grafana/loki-stack -n loki

day26-05.png

安裝完畢以後,就可以跟 Grafana 串接起來。

與 Grafana 連線 Datasource

那就還看看 Loki 服務名稱,kubectl get service 一下

day26-06.png

根據拿到的 Service 為 loki,再加上因為是不同 Namespace 需要加上 loki,可以知道等等要連線的地方就是 http://loki.loki:3100

那就進入到 Configuration > Data sources > Add data source 選擇 Loki

URL 就打上 http://loki.loki:3100

day26-07.png

按下最下面的 Save & Test 只要顯示 Data source connected and labels found. 就代表連線成功了。

day26-08.png

進到 Explore,上面就可以切換 Datasource 為 Loki,按一下 Log browser,就可以根據以下的篩選條件來選擇你要的 Log。

day26-09.png

這裡我會選擇找出 app=istiod 相關的 Log。

day26-10.png

按下 Show logs 就會把相關條件的 Log 找出來。

day26-11.png

還不錯吧!接下來就接上 Dashboard。

接上 Dashboard

點到 Dashboards > New dashboard

day26-12.png

就會來到這個畫面,點一下 Add a new panel

day26-13.png

下方的 Query Datasource 改為 Loki,填寫上剛剛想查詢的 Log 範圍,右側記得改為 Logs,Title 設定為 Istio Daemon Logs

day26-14.png

按下 Apply 就會套用了。

day26-15.png

別忘記按下 Save Dashboard

day26-16.png

其實 Loki 也可以跟 Syslog 做串接整合,不過這裡因為篇幅限制就沒有寫上來,如果有這樣需求教學,我會再跟 CNTUG 借 Infras 做實驗。

監控到這裡就暫告一個段落,下一篇就要來講程式碼版本管理 Server - GitLab,後面幾篇就來安裝、上傳程式碼、實作 CI/CD。

本系列內容也會同步貼到我的 iT 邦幫忙 https://ithelp.ithome.com.tw/users/20112934 歡迎來點一下追蹤,那我們就下一篇文章見啦!

Source


《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 26 Loki - 把 Log 蒐集儲存起來吧
https://blog.yangjerry.tw/2022/10/11/it2022-day26/
作者
Jerry Yang
發布於
2022年10月11日
許可協議