【问题标题】:Slack health check consistencySlack 健康检查一致性
【发布时间】:2021-11-12 02:07:03
【问题描述】:

我们正在使用hooks.slack.com/services/myWebHookId 在我们公司运行Slack webhook,我们希望知道它是否每 30 秒左右就可以访问。

根据Slack的健康状况检查,我可以随时去查看Slack是否在线使用其健康页面(当前为https://status.slack.com/api/v2.0.0/current)并获取它当前的健康状况。

我的问题是一致性问题。 Slack 健康页面 status.slack.com 是否有可能以健康状态正确解析,而其中一个 webhook 服务 hooks.slack.com 是我实际使用的服务,会以某种方式损坏、无法访问或有DNS 记录不好?

重点是,Slack 用于健康检查的 url,与我们实际用于发送Slack 消息的 Web 服务 url完全不同。 p>

这种健康检查是否足够好?第一个总是代表第二个吗?够靠谱吗?

是否可以改为检查 hooks.slack.com 的 webhook 服务?

有什么建议或最佳做法吗?

【问题讨论】:

    标签: slack slack-api health-monitoring health-check


    【解决方案1】:

    下面的答案是由Slack 支持团队发送给我的。他们也很乐意让我在此处粘贴他们的回复:

    status.slack.com 会在我们发现重大问题时手动更新详细信息。因此,可能存在一个窗口,其中状态站点从出现故障时起不会反映 hooks.slack.com 的问题,直到我们在此处发现问题并更新站点。然而,hooks.slack.com 的下降将是巨大的,我们会立即看到它的影响。所以我希望这种情况下的窗口非常小。

    与整个服务出现问题的可能性相比,特定 webhook 可能存在潜在问题的可能性要大得多。在这种情况下,状态站点将不会更新。如果特定 webhook 存在问题,则应在尝试使用 webhook 时根据错误响应加以注意。在这种情况下,您可以联系我们,我们将努力帮助解决问题。 Webhook 通常非常可靠,但如果您确实担心,您可以为频道创建第二个 Webhook URL,并在您开始在主 Webhook 上收到错误时将其用作 Web 服务中的备用。

    此外,

    没有可用于 webhook 的特定测试方法。但是,您可以发送带有故意不正确有效负载的消息。这将导致invalid_payload 错误,并且频道中没有实际发布消息。确认您在预期时正确收到此错误可用作测试。该测试可能会遗漏某些场景,因此您仍希望对实际消息进行适当的错误处理,但这应该是一种相当可靠的方法。

    【讨论】:

      【解决方案2】:

      根据官方文档:
      https://api.slack.com/docs/slack-status#best-practices

      • 使用最新版本的 API 端点 (v2.0.0)。
      • 根据需要频繁或不频繁地调用当前端点,以响应 Slack 的问题;
      如果您需要立即收到事件通知,请考虑每分钟轮询一次当前端点。
      不建议更频繁地进行轮询。

      • 如果您严重依赖 Slack 的特定功能,请检查事件的服务字段以验证该功能是否正常工作。例如,如果您的应用不使用链接展开,但确实依赖于消息传递,请考虑过滤服务数组中包含消息传递的事件,并忽略仅影响链接预览的警报。

      完整的文档集:
      https://api.slack.com/docs/slack-status

      【讨论】:

      • hmmmm 我真的不明白这是如何回答这个问题的......
      • 它试图回答最后一句“有什么建议或最佳实践吗?”。
      • 无论如何,由于我没有使用状态服务,我试图指出官方文档。如果对您没有帮助,您可以忽略答案。
      猜你喜欢
      • 2014-10-02
      • 2021-09-13
      • 2019-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 2017-07-16
      • 1970-01-01
      • 2019-05-19
      相关资源
      最近更新 更多