作者:MeshCloud脉时云公有云架构师 王明立
引言
配置告警策略,以便在有事件发生或特定系统指标/自定义指标违反了您所定义的规则时收到通知。可使用多个条件定义复杂的提醒规则。通过电子邮件、短信、webhock等接收通知。
整体架构
技术简介
配置基于指标的提醒政策后,Monitoring 会持续监控该政策的条件。当满足该政策的条件时,Monitoring 会创建一个突发事件并发送有关创建突发事件的通知。此通知包含有关突发事件的摘要信息、政策详情页面的链接以及任何文档。如果已打开突发事件,并且 Monitoring 确定不再满足基于指标的政策的条件,则 Monitoring 会自动关闭突发事件并发送关闭通知。
目标
配置告警策略以预警及发现业务存在的问题,及时处理问题避免出现重大的故障。
准备工作
必需的 Google Cloud Console 角色
要创建提醒政策,Google Cloud 项目的 IAM 角色名称必须为以下其中一项:
- Monitoring Editor
- Monitoring Admin
- Project Owner
实施步骤
告警通道设置
配置告警通知,首先要有通知的渠道,谷歌支持电子邮件、短信、webhock等方式
以webhock为例:
Wehhock api地址,需要对谷歌的数据做处理,然后再转发到飞书群,钉钉群或者其他渠道。可以使用MeshCloud GAC服务,无需开发适配 Google Cloud 的各种报警模板。
控制台进入Monioring > Altering >EDIT Notification channels>Webhocks>ADD NEW,填写MeshCloud生成的Webhock地址
控制台进入Monioring > Altering > CREATE POLICY,选择要监控的metric
配置5分钟内的带宽超过指定值发出告警
配置告警阈值(注意单位是B/s)
选择上述配置的Webhock告警通道,可以选择勾选是否恢复时发出通知Notify on incident closure
填写告警名称,描述等创建告警即添加完成
验证
发测试告警,告警发到飞书效果
常见问题
1.告警配置支持的metrics有哪些?
请参考链接:
https://cloud.google.com/monitoring/api/metrics
2.包含多个条件时的告警通知规则?
您创建了一个包含多个条件的提醒政策,并使用逻辑 AND 连接这些条件。您希望在满足所有条件时收到一条通知并创建一个突发事件。但您会收到多个通知,还会发现存在多个突发事件。
当提醒政策包含由逻辑 AND 连接的多个条件时,如果触发政策,那么对于触发了条件的每个时序,该政策都会发送通知然后创建事件。例如,若您的政策包含两个条件,每个条件都监控一个时序,则系统会打开两个突发事件并向您发送两个通知。
3.发出告警时,详情页面无法打开,并显示“权限遭拒”的消息为什么?
请确保您的 Identity and Access Management (IAM) 角色为 roles/monitoring.viewer 或包含该角色所有权限的角色。例如,roles/monitoring.editor 和 roles/monitoring.admin 角色包含 Viewer 角色的所有权限。