如何在 Stackdriver Alerting 中自定义整个电子邮件通知?

Ble*_*ssy 6 google-cloud-platform stackdriver google-cloud-monitoring

目前,创建警报策略时在文档字段中指定的消息显示在 Stackdriver 警报电子邮件的文档字段中。我想用我的自定义内容覆盖整个电子邮件正文。如何使用自定义消息覆盖 Stackdriver Alert 电子邮件的消息正文?有没有其他解决方法可以做到这一点?

Jof*_*fre 6

您应该能够将通知发送到 webhook,这可以直接是HTTP 触发的 Cloud Function

此云函数将接收警报中的所有信息,您可以按照本教程使用SendGrid发送警报。

这比仅仅设置电子邮件通知要复杂得多,但也为您提供了有关警报的惊人灵活性,因为您不仅可以随心所欲地编写消息,还可以以您想要的任何方式处理数据。想:

  • 您有低优先级警报吗?然后存储它们并偶尔发送摘要而不是垃圾邮件。
  • 想要根据日历轮换更改向谁发送警报?使用该功能查找应通知的人员。

这些只是我在写这篇文章时得到的一些随机的快速想法。

正文中提供的信息POST如下(这只是一个示例):

{
  "incident": {
    "incident_id": "f2e08c333dc64cb09f75eaab355393bz",
    "resource_id": "i-4a266a2d",
    "resource_name": "webserver-85",
    "state": "open",
    "started_at": 1385085727,
    "ended_at": null,
    "policy_name": "Webserver Health",
    "condition_name": "CPU usage",
    "url": "https://app.google.stackdriver.com/incidents/f333dc64z",
    "summary": "CPU for webserver-85 is above the threshold of 1% with a value of 28.5%"
  },
  "version": 1.1
}
Run Code Online (Sandbox Code Playgroud)

您可以创建一个处理所有警报的 Webhook,也可以基于每个策略创建一个 Webhook 来单独处理事务。