Prometheus 自动化巡检脚本集
概述 监控系统本身也需要被监控。Prometheus 采集了整个基础设施的指标,但如果 Prometheus 自己的配置出了问题、某个 target 掉线了、SSL 证书快过期了、告警规则写得有语法错误——谁来发现这些问题?答案是:一套自动化巡检脚本。本文围绕 Prometheus 生态,构建一套覆盖"拨测→证书检查→配置审计→规则验证→告警模拟→报表生成"的完整巡检工具集。 参考来源:Prometheus 官方文档、Blackbox Exporter 一、批量服务拨测脚本 1.1 基于 Blackbox Exporter 的拨测 Blackbox Exporter 是 Prometheus 官方的黑盒探测工具,支持 HTTP、TCP、ICMP、DNS 等协议。通过 Prometheus API 查询探测结果,可以实现批量服务健康检查: #!/usr/bin/env python3 """ 批量服务拨测脚本 通过 Prometheus API 查询 Blackbox Exporter 探测结果 """ import requests import json from datetime import datetime from typing import List, Dict, Optional from dataclasses import dataclass, asdict import smtplib from email.mime.text import MIMEText import sys @dataclass class ProbeResult: """探测结果""" instance: str module: str # http_2xx, tcp_connect, icmp 等 success: bool status_code: Optional[int] duration: float # 探测耗时(秒) error: Optional[str] last_error: Optional[str] ssl_cert_expiry_days: Optional[float] class PrometheusProber: """Prometheus 拨测器""" def __init__(self, prometheus_url: str, timeout: int = 30): self....