项目简介
本项目是基于 Kubernetes 和 Helm 构建的监控告警系统,借助 Prometheus 完成指标采集与告警管理,利用 Grafana 进行数据可视化展示,并通过钉钉机器人实现告警通知。该系统可监控外部服务的接口状态,当接口返回非 200 状态码时触发告警。
项目的主要特性和功能
- Prometheus 监控:运用 Blackbox Exporter 监控外部服务接口状态,支持 HTTP、HTTPS、DNS、TCP 和 ICMP 协议。
- Grafana 可视化:通过 Grafana 对 Prometheus 采集的指标进行可视化展示,支持动态仪表盘和告警规则配置。
- 钉钉告警:借助 Webhook 将 Prometheus 的告警信息发送至钉钉机器人,实现实时告警通知。
- Helm 部署:使用 Helm 在 Kubernetes 集群中一键部署 Prometheus、Grafana 和 Blackbox Exporter,简化部署流程。
- 告警规则管理:支持自定义告警规则,依据 PromQL 表达式触发告警,可配置告警的分组、等待时间和重复间隔。
安装使用步骤
1. 环境准备
- Kubernetes 集群(Client Version: v1.25.2, Server Version: v1.19.0)
- Helm 3.10.3
- 钉钉机器人 Webhook URL
2. 复制项目
shell
3. 更新 Helm 依赖
shell
cd dingtalk-prometheus
helm dependency update
4. 创建 Kubernetes 命名空间
shell
kubectl create namespace <your-namespace>
5. 配置 values.yaml
根据项目需求修改 values.yaml
文件,配置 Blackbox Exporter、Prometheus、Grafana 和钉钉告警的相关参数。
6. 部署 Prometheus 和 Grafana
shell
helm install -n <your-namespace> <prometheus-release-name> . -f values.yaml
7. 验证部署状态
shell
helm status <prometheus-release-name> -n <your-namespace>
kubectl get pods -n <your-namespace>
kubectl get service -n <your-namespace>
8. 访问 Prometheus 和 Grafana
通过配置的 Ingress 访问 Prometheus 和 Grafana 的 Web 界面,验证监控数据和告警规则是否生效。
9. 配置 Grafana 仪表盘
在 Grafana 中添加 Prometheus 数据源,并创建仪表盘,监控 Blackbox Exporter 采集的接口状态。
10. 测试告警
通过修改接口状态或配置告警规则,触发告警并验证钉钉机器人是否收到告警通知。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】