關於一些日誌聚合由來及原理科普見我的另外一篇 《程式設計入門之日誌聚合系統》
https://www.cnblogs.com/uncleguo/p/15948763.html
Loki日誌聚合系統是由Loki + Promtail+Grafana三部分組成的,這三個依次分別為日誌儲存引擎,日誌收集器,GUI介面,下面我們來簡單實踐部署下。
1.安裝執行Loki及promtail
- Loki 負責日誌測儲存,搜尋
- Promtail 負責收集日誌,通過網路傳送給Loki
首先去釋出頁面下載對應的Loki及Promtail版本。https://github.com/grafana/loki/releases/
Centos下載如下連結,下載完成後,解壓到相同目錄。
Loki:https://github.com/grafana/loki/releases/download/v2.4.2/loki-linux-amd64.zip
Promtail:https://github.com/grafana/loki/releases/download/v2.4.2/promtail-linux-amd64.zip
cd到解壓目錄中, wget下載預設配置檔案模板,可以按需修改,也可以先用模板簡單跑起來,增加信心:-)
wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml wget https://raw.githubusercontent.com/grafana/loki/main/clients/cmd/promtail/promtail-local-config.yaml
預設配置內容可以簡單看下,比較容易理解。Promtail的預設配置是收集/var/log/*log,傳送到本機的Loki http://localhost:3100/loki/api/v1/push 。可以根據需要調整。
以下命令執行Loki 及 Promtail,日誌收集和儲存就已經工作了。
./promtail-linux-amd64 -config.file=promtail-local-config.yaml ./loki-linux-amd64 -config.file=loki-local-config.yaml
2.安裝執行Grafana
Grafana可以提供一個圖形介面,以便查詢日誌,以下位置下載centos tar.gz版本。
wget https://dl.grafana.com/oss/release/grafana-8.4.3.linux-amd64.tar.gz tar -zxvf grafana-8.4.3.linux-amd64.tar.gz
cd進解壓目錄執行
cd grafana-8.4.3 ./bin/grafana-server web
成功執行後,預設在3000埠提供服務, 預設的使用者名稱密碼為 admin/admin (注意替換實際ip) http://192.168.1.1:3000/login
3.配置Grafana資料來源
為Grafana配置Loki作為資料來源,以便進行日誌視覺化檢視搜尋。
可以查詢了。
4.日誌滾動配置
日誌總是源源不斷,自動刪除太久的,避免佔滿儲存。
修改Loki配置檔案 loki-local-config.yaml,追加如下內容。
compactor: working_directory: /data/retention shared_store: filesystem compaction_interval: 10m retention_enabled: true retention_delete_delay: 2h retention_delete_worker_count: 150 storage_config: boltdb_shipper: active_index_directory: /data/index cache_location: /data/boltdb-cache shared_store: filesystem limits_config: retention_period: 168h
其中retention_period為保留時間,這裡168小時是7天。
至此,收工~!