Prometheus之配置詳解

2022-09-09 23:42:36 字數 4596 閱讀 3267

prometheus的配置檔案prometheus.yml,它主要分以下幾個配置塊:

全域性配置 global

告警配置 alerting

規則檔案配置 rule_files

拉取配置 scrape_configs

遠端讀寫配置 remote_read、remote_write

全域性配置 global:

global指定在所有其他配置上下文中有效的引數。還可用作其他配置部分的預設設定。

global:

# 預設拉取頻率

[ scrape_interval: | default = 1m ]

# 拉取超時時間

[ scrape_timeout: | default = 10s ]

# 執行規則頻率

[ evaluation_interval: | default = 1m ]

# 通訊時新增到任何時間序列或告警的標籤

# external systems (federation, remote storage, alertmanager).

external_labels:

[ : ... ]

# 記錄promql查詢的日誌檔案

[ query_log_file: ]

告警配置 alerting:

alerting指定與alertmanager相關的設定。

alerting:

alert_relabel_configs:

[ - ... ]

alertmanagers:

[ - ... ]

規則檔案配置 rule_files:

rule_files指定prometheus載入的任何規則的位置,從所有匹配的檔案中讀取規則和告警。目前沒有規則。

rule_files:

[ - ... ]

拉取配置 scrape_configs:

scrape_configs指定prometheus監控哪些資源。缺省會拉取prometheus本身的時間序列資料,通過http://localhost:9090/metrics進行拉取。

乙個scrape_config指定一組目標和引數,描述如何拉取它們。在一般情況下,乙個拉取配置指定乙個作業。在高階配置中,這可能會改變。

可以通過static_configs引數靜態配置目標,也可以使用支援的服務發現機制之一動態發現目標。

此外,relabel_configs在拉取之前,可以對任何目標及其標籤進行修改。

scrape_configs:

job_name: # 拉取頻率

[ scrape_interval: | default = ]

# 拉取超時時間

[ scrape_timeout: | default = ]

# 拉取的http路徑

[ metrics_path: | default = /metrics ]

# honor_labels 控制prometheus處理已存在於收集資料中的標籤與prometheus將附加在伺服器端的標籤("作業"和"例項"標籤、手動配置的目標標籤和由服務發現實現生成的標籤)之間的衝突

# 如果 honor_labels 設定為 "true",則通過保持從拉取資料獲得的標籤值並忽略衝突的伺服器端標籤來解決標籤衝突

# 如果 honor_labels 設定為 "false",則通過將拉取資料中衝突的標籤重新命名為"exported_"來解決標籤衝突(例如"exported_instance"、"exported_job"),然後附加伺服器端標籤

# 注意,任何全域性配置的 "external_labels"都不受此設定的影響。在與外部系統的通訊中,只有當時間序列還沒有給定的標籤時,它們才被應用,否則就會被忽略

[ honor_labels: | default = false ]

# honor_timestamps 控制prometheus是否遵守拉取資料中的時間戳

# 如果 honor_timestamps 設定為 "true",將使用目標公開的metrics的時間戳

# 如果 honor_timestamps 設定為 "false",目標公開的metrics的時間戳將被忽略

[ honor_timestamps: | default = true ]

# 配置用於請求的協議

# 可選的http url引數

params:

[ : [, ...] ]

# 在每個拉取請求上配置 username 和 password 來設定 authorization 頭部,password 和 password_file 二選一

basic_auth:

[ username: ]

[ password: ]

[ password_file: ]

# 在每個拉取請求上配置 bearer token 來設定 authorization 頭部,bearer_token 和 bearer_token_file 二選一

[ bearer_token: ]

# 在每個拉取請求上配置 bearer_token_file 來設定 authorization 頭部,bearer_token_file 和 bearer_token 二選一

[ bearer_token_file: /path/to/bearer/token/file ]

# 配置拉取請求的tls設定

tls_config:

[ ]# 可選的**url

[ proxy_url: ]

# azure服務發現配置列表

azure_sd_configs:

[ - ... ]

# consul服務發現配置列表

consul_sd_configs:

[ - ... ]

# dns服務發現配置列表

dns_sd_configs:

[ - ... ]

# ec2服務發現配置列表

ec2_sd_configs:

[ - ... ]

# openstack服務發現配置列表

openstack_sd_configs:

[ - ... ]

# file服務發現配置列表

file_sd_configs:

[ - ... ]

# gce服務發現配置列表

gce_sd_configs:

[ - ... ]

# kubernetes服務發現配置列表

kubernetes_sd_configs:

[ - ... ]

# marathon服務發現配置列表

marathon_sd_configs:

[ - ... ]

# airbnb's nerve服務發現配置列表

nerve_sd_configs:

[ - ... ]

# zookeeper serverset服務發現配置列表

serverset_sd_configs:

[ - ... ]

# triton服務發現配置列表

triton_sd_configs:

[ - ... ]

# 靜態配置目標列表

static_configs:

[ - ... ]

# 目標relabel配置列表

relabel_configs:

[ - ... ]

# metric relabel配置列表

metric_relabel_configs:

[ - ... ]

# 每次拉採樣品的數量限制

# metric relabelling之後,如果有超過這個數量的樣品,整個拉取將被視為失效。0表示沒有限制

[ sample_limit: | default = 0 ]

遠端讀寫配置 remote_read/remote_write:

remote_read/remote_write將資料來源與prometheus分離,當前不做配置。

# 與遠端寫功能相關的設定

remote_write:

[ - ... ]

# 與遠端讀功能相關的設定

remote_read:

[ - ... ]

簡單配置示例:

vim /usr/local/prometheus/prometheus.yml

global:

scrape_interval: 15s

evaluation_interval: 15s

alerting:

alertmanagers:

- static_configs:

- targets:

# - alertmanager:9093

rule_files:

# - "first_rules.yml"

# - "second_rules.yml"

scrape_configs:

- job_name: 'prometheus'

static_configs:

- targets: ['localhost:9090']

Prometheus配置介紹

prometheus配置 1 常用引數詳解 root localhost usr local prometheus prometheus h config.file prometheus.yml 指定配置檔案 web.listen address 0.0.0.0 9090 監聽埠 web.max c...

Prometheus動態配置目標

prometheus動態配置目標 金慶的專欄 2018.4 最簡單的配置是靜態目標 scrape configs job name prometheus static configs targets localhost 9090 localhost 9100 labels group prometh...

Prometheus告警規則配置

建立告警規則配置檔案first rules.yml,建議放在與prometheus.yml同級目錄 修改配置檔案prometheus.yml,將告警規則配置檔案新增到prometheus.yml。注意路徑。global scrape interval 15s 這個是每次資料手機的頻率 evaluat...