跳到主內容

Prometheus 普羅米修斯 安裝記錄 - Debian

  BUBU 之前一直看到群友在介紹這個監控服務,然後又外加最近公司新環境有這樣子的需求,因此也記錄一下是怎麼安裝

運行環境


  環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Debian 11

安裝過程


安裝 Prometheus 服務

  • 先建立 Prometheus 帳號及群組
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
  • 建立相關目錄
sudo mkdir /var/lib/prometheus
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done
  • 下載 Prometheus 安裝檔
mkdir -p /tmp/prometheus && cd /tmp/prometheus
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -
  • 解壓剛剛下載檔案
tar xvf prometheus*.tar.gz
cd prometheus*/
  • Prometheus 相關執檔放到 /usr/local/bin/
sudo mv prometheus promtool /usr/local/bin/
  • 設定檔移到 Prometheus 目錄下
sudo mv prometheus.yml  /etc/prometheus/prometheus.yml
  • consolesconsole_libraries 這兩個目錄移到 /etc/prometheus 下面
sudo mv consoles/ console_libraries/ /etc/prometheus/
  • 刪除剛剛解壓的目錄
cd ~/
rm -rf /tmp/prometheus
  • 查看設定檔內容,執行結果如下圖
cat /etc/prometheus/prometheus.yml

prometheus-02.png

  • 設定 Prometheus systemd Service
sudo tee /etc/systemd/system/prometheus.service<<EOF
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus \
  --web.console.templates=/etc/prometheus/consoles \
  --web.console.libraries=/etc/prometheus/console_libraries \
  --web.listen-address=0.0.0.0:9090 \
  --web.external-url=

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target
EOF
  • 設定相關權限
for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done
for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done
sudo chown -R prometheus:prometheus /var/lib/prometheus/
  • 啟動服務
sudo systemctl daemon-reload
sudo systemctl start prometheus && sudo systemctl enable prometheus
  • 確認服務是否有正常運行
systemctl status prometheus

prometheus-03.png

  • 在網頁上輸入 http://Prometheus站台位置:9090

prometheus-01.png

補充說明


  • 如果您資料想保存約半年以上請在啟動服務上設定好時間,要保存這麼大的資料量會建議把資料存放到檔案伺服器上會比較好。
  --storage.tsdb.retention.time=180d \
  • 刪除所有的資料來源
# 在啟動服務裡面增加此參數 vim /etc/systemd/system/prometheus.service
--web.enable-admin-api

# 刪除所有的參數
curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={__name__=~".+"}'

備註





參考相關網頁