
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Prometheus Alerts to StatusPage.io 是一个Webhook接收器,用于解决Prometheus Alertmanager同时触发多个相关警报时,仅在StatusPage.io上创建单个事件的问题。它能够聚合多个关联警报,避免重复报告,确保状态页面信息简洁准确。
适用于多团队监控同一系统组件的场景。例如:
必填环境变量
STATUSPAGE_APIKEY:StatusPage API密钥可选环境变量(用于自定义模板)
STATUSPAGE_INCIDENT_TITLE_TEMPLATE:事件标题模板STATUSPAGE_INCIDENT_CREATED_BODY_TEMPLATE:事件创建时的正文模板STATUSPAGE_INCIDENT_UPDATED_BODY_TEMPLATE:事件更新时的正文模板STATUSPAGE_INCIDENT_RESOLVED_BODY_TEMPLATE:事件解决时的正文模板在Prometheus警报规则中添加特定标签和注释,用于控制StatusPage事件:
yaml- alert: P1-Team1-Checkout-Customer-Alert1 expr: vector(0) > 0 labels: statusPageIO: true # 标记该警报需要发送到StatusPage statusPageIOPageId: abcd1234 # StatusPage页面ID statusPageIOComponentId: efgh9876 # StatusPage组件ID annotations: statusPageIOComponentName: Checkout (Customer) # 用于事件标题的组件名称 statusPageIOStatus: identified # 事件状态:identified|investigating|monitoring|resolved statusPageIOImpactOverride: minor # 事件影响级别:none|maintenance|minor|major|critical statusPageIOComponentStatus: partial_outage # 组件状态:none|operational|under_maintenance|degraded_performance|partial_outage|major_outage statusPageIOSummary: Customers are currently unable to checkout # 状态页面显示的摘要文本
配置AlertManager路由,将符合条件的警报发送到本工具,并按页面ID和组件ID分组:
yaml- receiver: statuspage-webhook groupBy: ['statusPageIOPageId', 'statusPageIOComponentId'] groupWait: 30s # 初始等待时间,用于聚合同一组的其他警报(默认:30s) groupInterval: 1m # 同一组新警报的发送间隔(默认:5m) repeatInterval: 4h # 重复发送间隔(默认:4h) matchers: - name: statusPageIO value: "true" ... - name: statuspage-webhook webhookConfigs: - url: "http://prometheus-alerts-to-statuspage.default.svc.cluster.local:8080/alert"
项目使用https://github.com/jknack/handlebars.java%E8%BF%9B%E8%A1%8C%E6%A8%A1%E6%9D%BF%E6%B8%B2%E6%9F%93%EF%BC%8C%E6%A8%A1%E6%9D%BF%E5%8F%AF%E8%AE%BF%E9%97%AEAlertWrapper%E7%B1%BB%E7%9A%84%E5%B1%9E%E6%80%A7%E3%80%82
默认事件标题模板示例:
handlebars{{#if (lookup this.commonAnnotations 'statusPageIOComponentName')}} {{lookup this.commonAnnotations 'statusPageIOComponentName'}} - {{/if}}Uh oh, something has gone wrong
输出示例:Checkout (Customer) - uh oh, something has gone wrong
当多个警报被分组时,系统会按以下规则更新事件:
事件状态:取所有警报中的最高状态
事件影响级别:取所有警报中的最高影响级别
组件状态:取所有触发警报中的最高组件状态
当警报触发时,工具会根据页面ID和组件ID检查是否存在未解决的事件:
只有当分组中的所有警报都停止触发时,事件才会被标记为已解决。
!https://raw.githubusercontent.com/nathandeamer/prometheus-alerts-to-statuspage/main/example.png
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务