exporter 分類
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SNmV2N1YDNhlTO2YTZ0cDO0QWN0Q2Y3gDM2gzN2IjM38CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
proemetheus exporter 多執行個體采集說明
為什麼有多執行個體采集
·要麼無法在目标伺服器上運作程式,例如說網絡裝置的SNMP
·要麼我們對距離(例如網站從網絡外部特定點到站點的延遲和可通路性)特别感興趣,這是常見的黑盒導出器的·用例。
·或者說部署agent代價比較大
多執行個體采集模式特點
exporter将通過網絡協定擷取目标的名額。
exporter不必在擷取度量标準的計算機上運作。
Prometheus GET請求的參數作為 exporter擷取目标和查詢配置字元串
然後,exporter在收到Prometheus的GET請求之後開始抓取
exporter可以采集多個目标
blackbox_exporter 需要傳入target 和 module 參數,采用下列方式加入的采集池中
- job_name: 'blackbox-http'
# metrics的path 注意不都是/metrics
metrics_path: /probe
# 傳入的參數
params:
module: [http_2xx] # Look for a HTTP 200 response.
target: [prometheus.io,www.baidu.com,172.20.70.205:3000]
static_configs:
- targets:
- 172.20.70.205:9115
- 此方案的缺點
- 實際采集目标位于參數配置中,這非常不尋常,以後很難了解。
- 該instance标簽顯示的是`blackbox_exporter`的位址,從技術上講是真實的,但不是我們感興趣的内容。
- 我們看不到我們探查了哪個URL。這是不切實際的,并且如果我們探查多個URL,也會将不同的名額混合到一個名額中。
- 解決方案說明:relabeling
- 所有以__開頭的标簽在采集完成後都會被drop調。大多數内部标簽以開頭__
- 可以設定一個内部标簽形如`__param_<name>` ,代表設定URL參數 name=value
- 有一個内部标簽__address__,在static_configs時由targets設定,其值是抓取請求的主機名。預設情況下,它被指派給instance 标簽,代表采集來源。
blackbox_exporter relabel 配置
将參數作為采集的target傳入
- job_name: 'blackbox-http'
# metrics的path 注意不都是/metrics
metrics_path: /probe
# 傳入的參數
params:
module: [http_2xx] # Look for a HTTP 200 response.
static_configs:
- targets:
- http://prometheus.io # Target to probe with http.
- https://www.baidu.com # Target to probe with https.
- http://172.20.70.205:3000 # Target to probe with http on port 3000.
relabel_configs:
# 第一步:我們從标簽中擷取值__address__(來自targets),然後将它們寫入新标簽__param_target
# 然後blackbox_exporter 會接收到 target參數
- source_labels: [__address__]
target_label: __param_target
# 第二步:我們從标簽_param_target中擷取值,并使用這些值建立instance标簽。
- source_labels: [__param_target]
target_label: instance
# 第三步: 将采集源由原來的targe替換為 真實的blackbox_exporter位址
- target_label: __address__
replacement: 127.0.0.1:9115 # The blackbox exporter's real hostname:port.
prometheus特殊tag說明
- __address__
- __name__
- instance
- job
- __metrics_path__