要使用普罗米修斯监控你的网站主页 http://gyq.com/
,可以通过以下步骤实现。普罗米修斯本身并不直接支持 HTTP 状态码的监控,但可以通过 Blackbox Exporter 来完成这项任务。
方案概述
- Blackbox Exporter 是一个普罗米修斯官方提供的工具,用于探测网络服务的可用性(如 HTTP、HTTPS、TCP、ICMP 等)。
- 通过配置 Blackbox Exporter,可以定期检查你的网站是否能正常访问(HTTP 状态码是否为 200)。
- 普罗米修斯会从 Blackbox Exporter 中拉取监控数据,并根据配置设置告警规则。
具体步骤
1. 安装和配置 Blackbox Exporter
- 下载 Blackbox Exporter
- 下载地址: Download | Prometheus
- 找到对应操作系统的版本并下载(例如 Linux amd64)。
2.解压
- 编辑
blackbox.yml
文件,添加对 HTTP 的探测模块:
- 这个配置表示:如果返回的状态码是 2xx,则认为探测成功。
- 启动 Blackbox Exporter
2. 配置 Prometheus
- 修改 Prometheus 配置文件 编辑
prometheus.yml
文件,添加 Blackbox Exporter 的监控任务:
- 说明:
-
job_name: 'website_monitor'
:为这个监控任务命名。 -
metrics_path: /probe
:指定 Blackbox Exporter 的探测路径。 -
params.module: [http_2xx]
:指定使用的探测模块(即http_2xx
)。 -
targets
:填写你要监控的目标 URL(如http://gyq.com/
)。 -
relabel_configs
:将目标 URL 转换为 Blackbox Exporter 的参数。
重启 Prometheus
重新加载 Prometheus 配置:
或者直接重启 Prometheus 服务。
3. 配置告警规则
- 编辑告警规则文件 创建或编辑 Prometheus 的告警规则文件
注意:以上规则文件需要在 Prometheus配置文件中定义好规则路径,修改yml配置后都需要重启或重新加载才能生效curl -X POST http://localhost:9090/-/reload
验证监控
- 访问 Prometheus Web UI 打开浏览器访问
http://<prometheus-ip>:9090
,查看以下指标:
-
probe_success
:是否为 1(表示探测成功)。 -
probe_duration_seconds
:探测耗时。
- 模拟网站故障 暂时关闭
http://gyq.com/
,观察 Prometheus 和 Alertmanager 是否发出告警。
也可以使用以下命令验证 Blackbox Exporter 是否正常工作默认端口是9115
以上都是正常状态
接下来关闭网站模拟故障报警
查看界面Prometheus Web UI 发现probe_success值变成了1,状态为失败。
再看看钉钉收到了监控告警
最后启动Nginx
这个时候查看界面Prometheus Web UI 发现恢复了正常
查看钉钉也收到了恢复消息