Prometheus: Prometheus Blackbox Exporter 配置
本文件是Blackbox Exporter指南的一部分。您可以在这里查看完整指南:如何使用 Prometheus Blackbox Exporter 探测 HTTP 和 ICMP(ping)端点。
👋 欢迎来到 Stackhero 文档!
Stackhero 提供即用型 Prometheus 云 解决方案,具有多种优势,包括:
- 包含
Alert Manager,可发送警报到Slack、Mattermost、PagerDuty等。- 专用邮件服务器发送无限制邮件警报。
Blackbox用于探测HTTP、ICMP、TCP等。- 使用在线配置文件编辑器进行轻松配置。
- 只需点击即可轻松更新。
- 由专用私有 VM提供的最佳性能和强大安全性。
节省时间,简化生活:只需 5 分钟即可试用 Stackhero 的 Prometheus 云托管 解决方案!
设置 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 部分,并使用您希望监控的域名或 IP 地址更新 targets 数组:
- 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 部分,并使用您希望监控的 URL 更新 targets 数组:
- 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 显示最后一次抓取的结果