Files
nexus/wiki/entities/blackbox-exporter.md
2026-04-22 04:03:04 +08:00

85 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "blackbox_exporter"
type: entity
aliases: [Blackbox Exporter, Prometheus Blackbox Exporter]
tags: [monitoring, probing, http, tls, prometheus, network]
date: 2025-11-11
---
# blackbox_exporter
## Overview
blackbox_exporter 是 Prometheus 官方的黑盒探测 exporter允许通过 HTTP、HTTPS、DNS、TCP、ICMP 等协议探测端点的可用性和响应质量。它不依赖目标系统的内部指标而是从外部视角模拟真实请求检测服务是否可达、响应是否正常、TLS 证书是否即将到期。
## Key Characteristics
- **黑盒探测**:不依赖目标内部指标,从外部检测服务健康状态
- **多协议支持**HTTP、HTTPS、DNS、TCP、ICMP、SSH
- **TLS 证书监控**:检测证书到期时间,支持提前告警
- **Prometheus 集成**:通过 `probe_success``probe_duration_seconds` 等指标暴露探测结果
## Key Metrics
| 指标 | 说明 | 用例 |
|------|------|------|
| `probe_success` | 探测是否成功0/1 | HTTP 可用性告警 |
| `probe_duration_seconds` | 探测耗时(秒) | 响应时间告警 |
| `probe_http_status_code` | HTTP 响应码 | 4xx/5xx 检测 |
| `probe_ssl_earliest_cert_expiry` | TLS 证书最早到期时间Unix 时间戳) | 证书到期告警 |
| `probe_dns_lookup_duration_seconds` | DNS 解析耗时 | DNS 健康检测 |
## Prometheus scrape_config
```yaml
- job_name: 'blackbox_http'
metrics_path: /probe # 关键:不是 /metrics而是 /probe
params:
module: [http_2xx] # 使用 http_2xx 模块
static_configs:
- targets:
- "https://pq2435887bh.vicp.fun"
- "http://shenwei-nas.vip.cpolar.cn"
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- target_label: __address__
replacement: blackbox:9115 # 指向 blackbox_exporter
```
## Home Server Deployment
```yaml
# docker-compose.yml 片段
blackbox:
image: prom/blackbox-exporter:latest
container_name: blackbox
restart: always
ports:
- "9115:9115"
```
## Key Alerts (PromQL)
```yaml
# HTTP 探测失败告警
- alert: HTTPProbeFailed
expr: probe_success == 0
for: 2m
labels:
severity: critical
# TLS 证书即将到期14天
- alert: TLSCertExpiring
expr: probe_ssl_earliest_cert_expiry - time() < 86400 * 14
for: 1h
labels:
severity: warning
```
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
## Related Entities
- [[Prometheus]] — 数据消费者
- [[Uptime Kuma]] — 互补的合成监控工具
## Related Concepts
- [[Exporter]] — Prometheus 生态组件
- [[合成监控]]Synthetic Monitoring— 黑盒探测的核心应用场景
- [[System Monitoring]] — 应用领域