Prometheus: Prometheus Blackbox Exporter 配置
本文档属于Blackbox Exporter指南的一部分。您可以在此处查看完整指南:如何使用 Prometheus Blackbox Exporter 探测 HTTP 和 ICMP(ping)端点。
👋 欢迎查阅 Stackhero 文档!
Stackhero 提供了一个完全托管的 Prometheus cloud 平台,专为高可靠性与简便性设计:
- 内置
Alert Manager,可将告警直接发送到Slack、Mattermost、PagerDuty及其他主流平台。- 配备专用邮件服务器,支持发送无限量邮件告警,无需额外配置。
- 集成
Blackbox,可对HTTP、ICMP、TCP等协议进行探测,实现全面监控。- 通过在线配置文件编辑器,快速完成实例配置,无需手动管理 YAML 文件。
- 一键升级,Stackhero 自动为您处理升级流程,最大限度减少停机和人工干预。
- 依托专属私有基础设施,内置高性能与强大安全性。
大约 5 分钟即可完成部署。Stackhero 负责所有初始化设置,让您专注于监控本身,无需为维护分心。欢迎体验 Stackhero 的 Prometheus cloud hosting,让您的监控与告警流程更加高效便捷。
设置 Blackbox Exporter 涉及两个关键文件:用于核心设置的 blackbox-exporter.yml 和定义 Prometheus 如何从导出器抓取数据的 prometheus.yml。
配置 Blackbox Exporter 核心
在 blackbox-exporter.yml 文件中找到的核心配置,指定支持哪些协议以及如何监控它们。
在 Stackhero for Prometheus 上,此文件预配置为支持 ICMP 监控和 HTTP/HTTPS 监控(通过 GET 和 POST 请求)。如果您需要为更高级的场景定制此文件,可以查看 Blackbox Exporter 仓库中的配置示例,并查阅官方文档以获取更多指导。
配置 Prometheus Blackbox Exporter 目标
大部分配置将在 prometheus.yml 文件中进行,您可以像其他导出器一样指示 Prometheus 从 Blackbox Exporter 抓取数据。
例如,考虑下面的配置,它每 15 秒检查一次 prometheus.io 和 grafana.com 的 ICMP(ping)响应(由 scrape_interval 定义)。您可以将此块添加到 prometheus.yml 文件的 scrape_configs 部分,并更新 targets 数组以包含您希望监控的域名或 IP 地址:
- job_name: "blackbox-icmp"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "icmp" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "prometheus.io", "grafana.com" ]
类似地,下面的配置监控 HTTP 服务器。在此设置中,如果 HTTP 响应状态不在 2xx 范围内,则目标被标记为错误。您可以将此块插入到 prometheus.yml 文件的 scrape_configs 部分,并更新 targets 数组以包含您希望监控的 URL:
- job_name: "blackbox-http"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "http_2xx" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "https://prometheus.io/", "https://grafana.com/" ]
配置好抓取任务后,您可以在 Blackbox UI 中查看调试日志。UI 的链接在您的 Stackhero 仪表板上可用,提供有关探测结果的宝贵见解。
Blackbox UI 显示最后一次抓取的结果