1. 程式人生 > 實用技巧 >Prometheus設定systemctl管理

Prometheus設定systemctl管理

  Prometheus可以設定成後臺啟動 參考:https://www.cnblogs.com/minseo/p/13370596.html

  但是其他應用程式大多使用systemctl管理啟動,為統一設定Prometheus為systemctl啟動

  環境檢視

  下載prometheus

  下載地址:https://github.com/prometheus/prometheus/releases

  解壓

#解壓
tar -xf prometheus-2.20.0.linux-amd64.tar.gz 
#設定軟連線
ln -s /usr/local/prometheus-2.20.0.linux-amd64 /usr/local/prometheus
#拷貝配置檔案至/etc
cd promrtheus
cp prometheus.yml /etc/

  prometheus預設配置檔案

# cat /etc/prometheus.yml 
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']

  設定systemctl管理

# cat /usr/lib/systemd/system/prometheus.service 
[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
ExecStart=/usr/local/prometheus/prometheus --config.file=/etc/prometheus.yml --web.read-timeout=5m  --web.max-connections=10 --storage.tsdb.retention=15d --storage.tsdb.path=/prometheus/data --query.max-concurrency=20 --query.timeout=2m
User=root
[Install]
WantedBy=multi-user.target

  啟動引數解釋

–config.file=/etc/prometheus.yml 指定配置檔案
 
–web.read-timeout=5m 請求連結的最大等待時間,防止太多的空閒連結佔用資源
 
–web.max-connections=512 針對prometheus,獲取資料來源的時候,建立的網路連結數,做一個最大數字的限制,防止連結數過多造成資源過大的消耗
 
–storage.tsdb.retention=15d 重要引數,prometheus 開始採集監控資料後,會存在記憶體和硬碟中;對於儲存期限的設定。時間過長,硬碟和記憶體都吃不消;時間太短,要查歷史資料就沒了。企業15天最為合適。
 
–storage.tsdb.path="/prometheus/data" 儲存資料路徑,不要隨便定義
 
–query.max-concurrency=20 使用者查詢最大併發數
 
–query.timeout=2m 慢查詢強制終止

  注意:配置檔案不能加雙引號,否則啟動報錯找不到檔案或目錄

     本次啟動使用者是root生產中最好新建一個使用者用於啟動,需要設定配置檔案及資料檔案許可權

     資料目錄在生產中最好單獨配置資料硬碟,使用LVM硬碟格式配置

  啟動

#啟動
systemctl start prometheus
#設定開機自啟動
systemctl enable prometheus

  檢視是否啟動

lsof -i:9090
ps -ef|grep prometheus

  web頁面檢視

  設定systemctl管理完成