Prometheus配置
1、常用參數詳解
[root@localhost ~]# /usr/local/prometheus/prometheus -h
--config.file="prometheus.yml" #指定配置文件
--web.listen-address="0.0.0.0:9090" #監聽端口
--web.max-connections=512 #默認最大連接數512
--storage.tsdb.path="data/" #默認的存儲路徑: data目錄下
--storage.tsdb.retention.time=15d #默認的數據保留時間:15天。
--alertmanager.timeout=10s #把報警發送給alertmanager的超時限制10s
--query.timeout=2m #查詢超時時間限制默認為2min,超過自動被kill掉。可以結合grafana的限時配置如60s
--query.max-concurrency=20 #並發查詢數prometheus的默認采集指標中有一項prometheus_engine_queries_concurrent_max可以拿到最大查詢並發數及查詢情況
2、配置文件解析
[root@localhost ~]# cat /usr/local/prometheus/prometheus.yml
global:
#默認情況下專區目標的頻率
[ scrape_interval: <duration> | default = 1m ]
#抓取超時時間
[ scrape_timeout: <duration> | default = 10s ]
#評估規則的頻率
[ evaluation_interval: <duration> | default = 1m ]
#與外部系統通信時添加到任何時間序列或警報的標簽
#(聯合,遠程存儲,Alertma# nager)
external_labels:
[ <labelname>: <labelvalue> ... ]
#規則文件指定了一個globs列表
#從所有匹配的文件中讀取規則和警報
rule_files:
[ - <scrape_config> ... ]
#抓取配置列表:
scrape_configs:
[ - <scrape_config> ... ]
#警報指定與Alertmanager相關的設置
alerting:
alert_relabel_configs:
[ - <relabel_config> ... ]
alertmanagers:
[ - <alertmanager_config> ... ]
#與原創寫入功能相關的設置
remote_write:
[ - <remote_write> ... ]
#與原創讀取功能相關的設置
remote_read:
[ - <remote_read> ... ]
3、<scrape_config>配置:
<scrape_config>部分指定一組描述如何刮除他們的目標和參數。在一般情況下,一個scrape配置指定單個作業。在高級配置中,這可能會改變。
目標可以通過<scrape_config>參數靜態配置,也可以使用其中一種支持的服務發現機制動態發現。
其中<scrape_config>在所有scrape配置中必須時唯一的。
默認配置相關的參數:
4、靜態配置scrape_configs:
正常里面我們使用經常配置文件還是比較多的,在我們服務器的數量不是很多的場景下,我們可以使用靜態的方式來進行配置,如下:
基礎信息配置:
scrape_configs:
- job_name: 'linux-bj' #job名稱
static_configs: #靜態的形式
- targets: ['192.168.10.121'] #遠程地址
labels: #標簽
idc: bj-jiuxianqiao #機房標簽
- job_name: 'linux-gx'
static_configs:
- targets: ['192.168.10.121:9100']
labels:
idc: gz-daxuecheng
[root@localhost ~]# systemctl restart prometheus
web頁面查看:
http://192.168.10.121:9090/targets


可視化界面


Alerts:表示可以看到我們定義的告警規則。
Graph:表示在界面查詢數據,生成圖片,或者返回值。
Status:下面比較主要的式target,表示我們遠端的監控,可以看以下exporter的運行情況,出現故障很容易看出來。