Prometheus - Blackbox Exporter

简介: BlackBox Exporter 顾名思义就是在应用程序的外部对其进行探测, 支持 HTTP、HTTPS、DNS、TCP、ICMP等方式对目标进行检测。

BlackBox Exporter 顾名思义就是在应用程序的外部对其进行探测,
支持 HTTP、HTTPS、DNS、TCP、ICMP等方式对目标进行检测。

ICMP
cat prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s
scrape_configs: 
  - job_name: "ICMP"
    metrics_path: /probe
    params:
      module: [icmp]
    file_sd_configs:
    - refresh_interval: 10s
      files:
      - targets/blackbox-exporter-icmp.yml
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: blackbox-exporter-service:9115
cat targets/blackbox-exporter-icmp.yml
- targets: 
  - 119.29.29.29
  - 223.5.5.5
HTTP
cat prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s
scrape_configs: 
  - job_name: "HTTP"
    metrics_path: /probe
    params:
      module: [http_2xx]
    file_sd_configs:
    - refresh_interval: 10s
      files:
      - targets/blackbox-exporter-http.yml
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: blackbox-exporter-service:9115
cat targets/blackbox-exporter-http.yml
- targets: 
  - https://www.baidu.com
  - https://www.google.com
TCP
cat prometheus.yml
global:
  scrape_interval:     15s
  evaluation_interval: 15s
scrape_configs: 
  - job_name: "TCP"
    metrics_path: /probe
    params:
      module: [tcp]
    file_sd_configs:
    - refresh_interval: 10s
      files:
      - targets/blackbox-exporter-tcp.yml
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: blackbox-exporter-service:9115
cat targets/blackbox-exporter-tcp.yml
- targets: 
  - aliyun.com:443
  - huaweicloud.com:443

标签重改& 监控原理
将 [address] 输出到 __param_target,是为了 Prometheus 在BlackboxExporter采集时使用对应的域名
例如 Target 中设置的是 https://www.baidu.com 则 address 为 https://www.baidu.com
Prometheus 采集时则使用 http://blackbox-exporter:9115/probe?module=http_2xx&target=https://www.baidu.com

在这里插入图片描述

由此可见,Prometheus 主动传递参数给 Blackbox 进行执行,并在 Blackbox 接口暴露出指标提供给 Prometheus 采集。

在这里插入图片描述

probe?module=http_2xx&target=https://www.google.com
http_2xx 为模块名称
https://www.google.com 为执行监控的目标

Grafana
Dashboard ID: 13659

在这里插入图片描述

Dashboard ID: 9965
需要额外安装饼图插件支持: grafana-cli plugins install grafana-piechart-panel

在这里插入图片描述

Trouble
报错: 通过 IPv6 连接不到目标
解决方案: 修改对应模块的IP协议为 IPv4

modules:
  http_2xx:
    prober: http
    http:
 preferred_ip_protocol: "ip4"
  icmp:
    prober: icmp
    icmp:
 preferred_ip_protocol: "ip4"
  tcp:
    prober: tcp
    tcp:
 preferred_ip_protocol: "ip4"

Refer:

https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md

Debug
probe?target=119.29.29.29&module=icmp&debug=true
通过传递 debug=true 参数可以进行 Probe 过程中的调试

在这里插入图片描述

原文:https://developer.aliyun.com/article/790535

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PrometheusBlackbox插件是一个用于监控远程服务是否可达、响应时间以及其他指标的工具。它主要用于对不可直接使用Prometheus去 scrape 的目标进行探查,例如HTTP服务、TCP端口、DNS查询等。以下是安装和配置Blackbox插件的基本步骤: 1. **安装Prometheus**: 首先,确保你已经安装了Prometheus。如果你使用的是Linux系统,可以在Prometheus的GitHub页面上下载预编译的二进制文件,或通过包管理器如`apt`或`yum`安装。 2. **安装Blackbox-exporter**: Blackbox-exporterPrometheus Blackbox插件的实现,需要单独安装。你可以从GitHub下载源代码并编译,或者直接通过包管理器安装。例如,在Debian系的系统上可以运行: ``` apt update && apt install prometheus-blackbox-exporter ``` 3. **配置Blackbox-config.yml**: 创建或编辑Prometheus的配置文件`prometheus.yml`,添加Blackbox的配置部分。在这个文件中,你会看到一个`scrape_configs`部分,其中应包含一个或多个`job_name`,每个`job_name`对应一个要监控的服务。配置示例: ```yaml scrape_configs: - job_name: 'blackbox' static_configs: - targets: ['http://example.com', 'http://localhost:8080'] http_config: # 更多HTTP探测配置 timeout: 5s ``` 在这里,`targets`列出了你要检查的服务URL,`http_config`则定义了HTTP请求的相关参数。 4. **启动PrometheusBlackbox-exporter**: 启动Prometheus,确保Blackbox-exporter也在运行。如果使用的是systemd,可以在终端运行: ``` systemctl start prometheus systemctl start blackbox-exporter ``` 5. **验证配置**: 使用Prometheus的命令行客户端`promtool`,可以验证配置文件是否正确,以及Blackbox插件是否能正常工作: ``` promtool check --config /path/to/prometheus.yml ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值