Grafana 8.2中的新功能:在警报发生前测试警报的接触点

239 阅读3分钟

Grafana 8.2上周发布了,我们很高兴地宣布其新功能之一:联络点测试。现在Grafana 8警报的用户可以直接从联络点页面测试他们的联络点。这项功能使配置Grafana 8警报更容易,并使你有信心知道你的联络点在发射前按预期工作。

以下是基本情况:

联系点包含零个或多个联系点类型(即电子邮件、Slack、webhook等)的配置,这些联系点在警报发射时接收通知。一个联络点不限于只有一个联络点类型,可以有多个联络点类型:

当你为新的和现有的联络点创建或更新联络点类型时,你会注意到在Grafana 8.2中,我们在复制删除按钮的旁边增加了一个新的测试按钮:

测试按钮被点击时,Grafana会创建一个名为TestAlert的警报,并为这个警报向联络点类型发送通知。这里的重要区别是,与Grafana 8.1和更早的版本不同,联络点不需要被保存或分配给一个或多个通知策略来进行测试。

如果联络点类型是有效的,并且通知的发送没有错误,用户界面将显示一个绿色的成功对话,并显示 "测试警报已发送 "的信息:

然而,如果联络点不包含有效的配置,或者通知不能被发送到联络点,用户界面将显示一个红色的错误对话,并附有错误信息 "发送测试警报失败":

还有一个API端点,可以用来测试联络点:

POST /api/alertmanager/grafana/config/api/v1/receivers/test

该端点接受包含接收者列的JSON,其格式与我们向api/alertmanager/grafana/config/api/v1/alerts发出POST请求时的格式相同:

{
  "receivers": [{
    "name": "contact-point-1",
    "grafana_managed_receiver_configs": [{
      "name": "alertmanager",
      "type": "prometheus-alertmanager",
      "settings": {
        "url": "http://127.0.0.1:9093"
      }
    }, {
      "name": "email",
      "type": "email",
      "settings": {
        "addresses": "example@example.com"
      }
    }]
  }]
}

API会返回一个HTTP 200 OK响应,其中包含被测试的接收者列表(名称和UID)。通知中包括一个时间戳,以区分连续的测试:

{
  "notified_at": "2021-01-01T00:00:00Z",
  "receivers": [{
    "name": "contact-point-1",
    "grafana_managed_receiver_configs": [{
      "name": "alertmanager",
      "uid": "uid1",
      "status": "ok"
    }, {
      "name": "email",
      "uid": "uid2",
      "status": "ok"
    }]
  }]
}

如果一个接收器成功地发送了通知,它将包含一个带有 "ok "的状态字段。如果一个接收器失败了--无论是由于错误的配置还是一个短暂的错误--它将包含一个带有 "失败 "的状态字段和一个带有信息的错误字段:

{
  "notified_at": "2021-01-01T00:00:00Z",
  "receivers": [{
    "name": "alertmanager",
    "grafana_managed_receiver_configs": [{
      "name": "alertmanager",
      "uid": "uid1",
      "status": "ok"
    }, {
      "name": "email",
      "uid": "uid2",
      "status": "failed",
      "error": "SMTP is not configured"
    }]
  }]
}

所有的接触点都是平行测试的(一次最多10个),默认的超时时间为15秒,最多可以配置到30秒。

试试吧!

联系点测试在Grafana 8.2和Grafana Cloud中都可用。设置新的Grafana Cloud实例的用户将可以使用最新版本的Grafana和这个功能。关于接触点和Grafana 8警报的更多信息,可以在这里的官方文档中找到。