天天看點

Prometheus 系統監控方案 二 安裝與配置

下載下傳Prometheus

下載下傳最新安裝包,本文說的都是在Linux x64下面内容,其它平台沒嘗試過,請選擇合适的下載下傳。

  • Prometheus 主程式,主要是負責存儲、抓取、聚合、查詢方面。
  • Alertmanager 程式,主要是負責實作報警功能。
  • Pushgateway 程式,主要是實作接收由Client push過來的名額資料,在指定的時間間隔,由主程式來抓取。
  • *_exporter 這類是不同系統已經實作了的內建。

下載下傳解壓,一般預設的配置就可以運作。

tar xvfz prometheus-*.tar.gz
cd prometheus-*
           

go寫的東西,直接打包成二進制包了,其本上沒有别的依賴。

下面我們主要來了解一下他的配置檔案,這是一個非常重要的步聚。

配置Prometheus監控自已

Prometheus 通過預設 http://localhost:9090/metrics HTTP接口暴露了自己的性能名額資料,當然也就可以配置抓取目标 targets 為自己了。Prometheus 采集自身性能資料就是一個十分好的例子了,打開解壓目錄下面的prometheus.yml檔案。

# 全局配置
global:
  scrape_interval:     s # 預設 15秒到目标處抓取資料

  # 這個标簽是在本機上每一條時間序列上都會預設産生的,主要可以用于 聯合查詢、遠端存儲、Alertmanger時使用。
  external_labels:
    monitor: 'codelab-monitor'

# 這裡就表示抓取對象的配置
# 設定抓取自身資料
scrape_configs:
  #  job name 這個配置是表示在這個配置内的時間序例,每一條都會自動添加上這個{job_name:"prometheus"}的标簽。
  - job_name: 'prometheus'

    # 重寫了全局抓取間隔時間,由15秒重寫成5秒。
    scrape_interval: s

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

啟動Prometheus

使用剛才的配置檔案啟動Prometheus。

./prometheus -config.file=prometheus.yml
           

這時候Prometheus應該正确啟動了,如果報錯,請檢查配置檔案。(注意:yml格式是對縮進有要求的。) 使用浏覽器打開該機器的 http://部署機器:9090 ,或者 http://localhost:9090/ 即可以看到Prometheus的graph頁面了。一般等幾秒抓取,就會有資料寫進Prometheus裡面了。

如果相驗證Prometheus自己輸出了什麼性能資料,可以打開 http://localhost:9090/metrics 這個頁面看看。

Prometheus預設是有多少個CPU核心就使用多少OS線程,主要是由GOMAXPROCS 這個環境變量控制的,開發GO的應該都清楚。一般預設就好了,太高的話可能會帶來意想不到的後果。

Prometheus預設大概會占用3G左右的記憶體,如果想調小一點,得修改配置檔案,或者添加啟動參數。

使用Prometheus 自帶的表達式浏覽器

如果想檢視Prometheus都抓了些什麼資料,可以使用它内置的一個浏覽頁面。打開 http://localhost:9090/graph ,預設是在graph的頁面。

試試在表達式 expression 輸入框:

prometheus_target_interval_length_seconds

查詢Promethues目标抓取間隔時間長度。執行後會傳回很多條時間序列,Console 内列出的是最後一次抓到的數值。不同的标簽表示不同的時間間隔和耗時%。

如果想查詢99%的抓取耗時,可以這樣:

prometheus_target_interval_length_seconds{quantile="0.99"}

如果想查詢傳回的時間序列有多少條,可以這樣:

count(prometheus_target_interval_length_seconds)

暫時寫到這了。

繼續閱讀