musakhalidwork-alt/Unified-SRE-Observability-and-Alerting-Stack

GitHub: musakhalidwork-alt/Unified-SRE-Observability-and-Alerting-Stack

基于 Prometheus、Grafana、Loki 和 Alertmanager 的集中式 SRE 可观测性与告警演示平台,帮助用户快速学习和实践监控告警体系的搭建。

Stars: 0 | Forks: 0

# Prometheus 和 Grafana 告警演示 Grafana Alerting 基于 Prometheus Alerting 模型构建。本演示项目展示了 Prometheus 和 Grafana 告警系统之间的相似之处,涵盖以下主题: - 在 Prometheus 中创建告警 - 使用 Grafana 重新创建相同的告警 - 设置基于 Loki 日志的告警 - 探索告警组件,如评估组和通知策略 - 创建模板化通知 - 以及更多内容! 本项目与这份 [Alerting 演示模板](https://docs.google.com/presentation/d/1XvJnBlNnXUjiS409ABN4NxNkFZoYDmoRKKoJqsvln-g/edit?usp=sharing)搭配使用效果极佳。它们共同为您介绍 Prometheus Alerting 模型并演示其在 Grafana 中的应用提供了一个绝佳的起点。 ## 运行演示环境 此仓库包含一个 [Docker Compose 配置](./docker-compose.yaml),用于运行 Grafana、Prometheus、Prometheus Alertmanager、Loki 以及一个用于测试邮件通知的 SMTP 服务器。 要运行演示环境: ``` docker compose up ``` 随后你可以访问: - Grafana:[http://localhost:3000](http://localhost:3000/) - Prometheus Web UI:[http://localhost:9090](http://localhost:9090/) - Alertmanager Web UI:[http://localhost:9093](http://localhost:9093/) ### 生成测试数据 本演示使用 [Grafana k6](https://grafana.com/docs/k6) 为 Prometheus 和 Loki 生成测试数据。 [`testdata` 文件夹中的 k6 测试](./testdata/) 会注入 Prometheus 指标和 Loki 日志,您可以用它们来定义告警查询和条件。 1. 安装 **k6 v1.2.0** 或更高版本。 2. 使用以下命令运行 k6 测试: k6 run testdata/.js 您可以修改并运行 k6 脚本,以模拟不同的告警场景。 有关将数据插入 Prometheus 或 Loki 的详细信息,请参阅 `xk6-client-prometheus-remote` 和 `xk6-loki` API。 ### 接收 Webhook 通知 接收告警通知最简单的方法之一是使用 Webhook。您可以使用 [`webhook.site`](https://webhook.site/) 创建 Webhook URL 并查看传入的消息。 - 对于 Prometheus alertmanager: 将 Webhook URL 设置到 [alertmanager.yml](./alertmanager/alertmanager.yml) 配置文件中。 - 对于 Grafana: 创建一个 Webhook 联系点并将其分配给通知策略。 ### 接收邮件通知 您还可以配置使用您的 Gmail 账号通过 [应用密码](https://support.google.com/accounts/answer/185833?hl=en) 发送通知。创建应用密码后: - 对于 Prometheus Alertmanager: 在 [alertmanager.yml](./alertmanager/alertmanager.yml) 配置文件中将 `your_mail@gmail` 替换为您的 Gmail 地址。 将 `alertmanager/smtp_auth_password.example` 复制为 `alertmanager/smtp_auth_password` 并设置您的密码。 - 对于 Grafana: 将 `environments/smpt.env.example` 复制为 `environments/smpt.env` 并设置相应的环境变量值。
标签:API集成, Grafana, SRE, 偏差过滤, 可观测性, 版权保护, 监控告警, 自定义请求头, 运维