- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。
Blackbox Exporter 是 Prometheus 官方提供的一种黑盒监控解决方案,能够通过 HTTP、HTTPS、DNS、TCP 和 ICMP 等方式对网络进行探测。与传统的白盒监控不同,黑盒监控更侧重于从外部用户的视角来测试服务的可用性及性能,通常以故障为导向,快速发现服务的中断或异常。相比之下,白盒监控更强调主动发现潜在问题,通过监控内部系统指标预测故障。
一个完善的监控体系需要结合两者:从白盒角度洞察潜在问题,从黑盒角度快速定位已发生的故障。
实际应用
下面以部署和配置 Blackbox Exporter 为例,演示如何实现端口监控和网络探测。
1. 部署 Blackbox Exporter
方法一:Docker 运行
你可以直接使用官方提供的 Docker 镜像来快速部署:
docker pull prom/blackbox-exporter
docker run --rm -d -p 9115:9115 --name blackbox_exporter \\
-v $(pwd):/config prom/blackbox-exporter:master \\
--config.file=/config/blackbox.yml
方法二:Docker Compose 部署
利用 docker-compose.yml 配置文件,可以更方便地管理服务。示例如下:
version: '2'services:
blackbox_exporter:
image: prom/blackbox-exporter
container_name: blackbox_exporter
restart: always
networks:
- nets
volumes:
- ./blackbox_exporter/blackbox.yml:/etc/blackbox_exporter/config.yml
ports:
- 9115:9115networks:
nets:
external: false
将上述内容保存为 docker-compose.yml,并运行以下命令启动:
docker-compose up -d
2. Blackbox Exporter 配置
配置文件 blackbox.yml 定义了探测的模块和具体方式。以下是一些常用的探测模块配置示例:
modules:
http_2xx:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4" # 使用 IPv4
http_post_2xx_query:
prober: http
timeout: 20s
http:
preferred_ip_protocol: "ip4"
method: POST
headers:
Content-Type: application/json
body: '{"key":"value"}' # 示例请求体
tcp_connect:
prober: tcp
timeout: 5s
pop3s_banner:
prober: tcp
tcp:
query_response:
- expect: "^+OK"
tls: true
icmp:
prober: icmp
timeout: 20s
将该文件放在 Docker 容器挂载的路径(如 ./blackbox_exporter/blackbox.yml)下,重启服务即可生效。
3. Prometheus 配置 Blackbox Exporter
在 Prometheus 的 prometheus.yml 中添加 Blackbox Exporter 的探测任务:
scrape_configs:
- job_name: 'port_status'
metrics_path: /probe
params:
module: [tcp_connect] # 使用 TCP 探测
static_configs:
- targets:
- '192.168.10.1:22' # SSH 服务
- '192.168.10.2:80' # HTTP 服务
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115 # Blackbox Exporter 的地址
重新加载 Prometheus 配置:
curl -X POST http://<Prometheus地址>:9090/-/reload
4. Grafana 配置
模板导入
Grafana 提供丰富的监控模板,你可以直接导入模板 9965(Blackbox Exporter 模板):
前往 Grafana 仪表盘,点击 导入(Import)。
输入模板编号 9965,并选择对应的 Prometheus 数据源。
应用后即可看到探测数据的可视化展示。
常见插件问题
如需安装插件,可以通过以下命令验证:
grafana-cli plugins ls
如果是 Docker 容器部署 Grafana,需要重启容器使插件生效:
docker restart grafana
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
更多技术知识,蓝队云期待与你一起探索。
售前咨询
售后咨询
备案咨询
二维码
TOP