最近為了將 Server 上的文本資料和 Grafana 結合在一起,所以架設了 Loki 文字資料的蒐集,這其中的架構會需要用到 promtail,所以今天就單獨把 promtail 的安裝拎出來說吧!
下載安裝包
首先用以下指令查看你CPU架構
根據你的CPU架構從 github下載需要的版本
1
| wget https://github.com/grafana/loki/releases/download/v3.4.5/promtail-linux-amd64.zip
|
解壓縮壓縮檔
1
| unzip promtail-linux-amd64.zip
|
開始安裝
移動到固定路徑
執行檔放在 bin
1 2
| sudo mv ./promtail-linux-amd64 /usr/local/bin/promtail sudo chmod +x /usr/local/bin/promtail
|
建立設定檔
準備一份 promtail-config.yaml 放在 etc
1 2
| sudo mkdir -p /etc/promtail sudo nano /etc/promtail/promtail-config.yaml
|
yaml裡面要填的是 Loki 的相關設定
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| server: http_listen_port: 9080 grpc_listen_port: 0
positions: filename: /var/lib/promtail/positions.yaml
clients: - url: http://<你的Loki_IP>:3100/loki/api/v1/push
scrape_configs: - job_name: varlogs static_configs: - targets: - localhost labels: job: varlogs __path__: /var/log/*.log
|
建立位置檔案的資料夾:
1
| sudo mkdir -p /var/lib/promtail
|
建立 systemd 服務檔
建立 /etc/systemd/system/promtail.service:
1
| sudo nano /etc/systemd/system/promtail.service
|
貼入以下內容:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [Unit] Description=Promtail service After=network.target
[Service] Type=simple ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail-config.yaml Restart=always RestartSec=5 User=root
[Install] WantedBy=multi-user.target
|
重新載入 systemd 並啟用
1 2 3
| sudo systemctl daemon-reload sudo systemctl enable promtail sudo systemctl start promtail
|
查看結果和 logs
1
| sudo systemctl status promtail
|
應該要看到 Active(running)
1
| journalctl -u promtail -f
|
會顯示出執行的 logs
修改後如何重啟服務
1 2 3
| sudo systemctl daemon-reload sudo systemctl restart promtail sudo systemctl status promtail
|
臨時關閉服務(停止服務,不影響開機自動啟動)
1
| sudo systemctl stop promtail
|
👉 這樣會馬上把 promtail 停掉,但不影響開機時還會啟動。
關閉服務(開機也不要自動啟動)
1
| sudo systemctl disable promtail
|
如果要再次啟動
1
| sudo systemctl start promtail
|
如果要再次啟動且開機自動啟動
1 2
| sudo systemctl enable promtail sudo systemctl start promtail
|
強制關閉(不要優雅關閉graceful shutdown)
1 2 3
| sudo systemctl kill promtail or sudo systemctl stop promtail --force --now
|