0%

Promtail 安裝教學

最近為了將 Server 上的文本資料和 Grafana 結合在一起,所以架設了 Loki 文字資料的蒐集,這其中的架構會需要用到 promtail,所以今天就單獨把 promtail 的安裝拎出來說吧!

下載安裝包

首先用以下指令查看你CPU架構

1
uname -m

根據你的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