需求
公司專案采用微服務的架構,服務很多,每個服務都有自己的日志,分別存放在不同的服務器上,當查找日志時需要分別登錄不同的服務器,有大量的請求的情況下,在日志檔案中查找資訊十分困難,想要搭建一個日志系統,ELK分布式日志系統對于中小型公司來說開發維護成本太高,經過調研,選擇Loki輕量級日志系統,
Loki簡介
Loki 是一個水平可擴展,高可用性,多租戶日志聚合系統,靈感來自 Prometheus ,其設計非常經濟高效,易于操作,它不索引日志的內容,而是為每個日志流設定一組標簽,
Loki與其他日志聚合系統差別:
- 不對日志進行全文本索引,通過存盤壓縮的,非結構化的日志以及僅索引元資料,Loki更加易于操作且運行成本更低,
- 使用與Prometheus相同的標簽對日志流進行索引和分組,從而使您能夠使用與Prometheus相同的標簽在指標和日志之間無縫切換,
- 特別適合存盤Kubernetes Pod日志,諸如Pod標簽之類的元資料會自動被抓取并建立索引,
- 在Grafana中原生支持(需要Grafana v6.0及以上),
Loki的日志系統的組件:
- Promtail是代理,負責收集日志并將其發送給Loki,
- Loki是主服務器,負責存盤日志和處理查詢,
- Grafana用于查詢和顯示日志,
搭建步驟
本文采用的搭建方式是分別下載各個組件并安裝,也可以參考官方的檔案進行搭建安裝,
Loki的GitHub地址:https://github.com/grafana/loki
組態檔官網地址:https://grafana.com/docs/loki/latest/installation/local/
Grafana下載官網:https://grafana.com/grafana/download

?
1.下載安裝啟動Grafana
官網提供了下圖中幾種方式,本文采用的是CentOS系統,yum安裝的方式,

?
#下載安裝grafana命令,下列命令執行成功后,在/usr/sbin檔案夾下會有grafana-server執行檔案 wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm sudo yum install grafana-7.3.2-1.x86_64.rpm #啟動grafana,grafana會占用服務器3000埠,記得保證3000埠不被占用 cd /usr/sbin ./grafana-server web
2.下載啟動Loki和Promtail
官方檔案地址:https://grafana.com/docs/loki/latest/installation/local/
因為采用本地安裝的方式,參考檔案(下圖箭頭指向的位置),分別下載執行檔案和啟動的組態檔,

?
下載Promtail:https://github.com/grafana/loki/releases/download/v2.0.0/promtail-linux-amd64.zip
#下載壓縮檔案 curl -O -L "https://github.com/grafana/loki/releases/download/v2.0.0/loki-linux-amd64.zip" #解壓檔案 unzip "loki-linux-amd64.zip" #執行檔案授權 chmod a+x "loki-linux-amd64" #下載Loki和Promtail的組態檔 wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml wget https://raw.githubusercontent.com/grafana/loki/master/cmd/promtail/promtail-local-config.yaml
啟動Loki,本文采用的Loki默認配置,服務埠為3100
#啟動Loki命令 nohup ./loki-linux-amd64 -config.file=loki-local-config.yaml > loki.log 2>&1 & #查看啟動是否成功(查看3100埠的行程是否存在) netstat -tunlp | grep 3100 #或者根據名稱查找行程(執行命令后有下邊的顯示,則啟動成功) ps -ef | grep loki-linux-amd64 $ root 11037 22022 0 15:44 pts/0 00:00:55 ./loki-linux-amd64 -config.file=loki-local-config.yaml
到收集日志的服務器上配置Promtail并啟動,傳輸檔案到收集日志的服務器,
修改組態檔

?
啟動Promtail
#Promtail默認埠是9080,啟動完成后,可以采用上邊的方式查看行程是否啟動成功 nohup ./promtail-linux-amd64 -config.file=promtail-local-config.yaml > promtail.log 2>&1 &
3.添加資料源
訪問web頁面:http://localhost:3000/ 進行登錄(賬號密碼都是admin),點擊下圖中的位置,找到Loki,配置資料源,

?
填寫資料源的訪問地址并保存,

?
配置好資料源之后就可以點擊下圖中的位置,進行日志查看了,

?
日志查看效果如下圖,

?
希望本文對你有幫助,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/214018.html
標籤:其他
