操作指南:死信检测以提醒服务中断

导航至

本文由 InfluxData 2022 年夏季实习生 Tyler Nguyen 撰写。

无论您是使用 InfluxDB 记录大量的历史股票市场数据以分析当前的经济趋势,还是仅仅监控智能家居中灯的开关次数以减少电力浪费,传入数据流的突然冲击或延迟都可能对您的大部分操作不利。 然而,幸运的是,InfluxDB 不仅仅是一个存储解决方案或数据查询工具:设置自动化任务的能力是 InfluxDB Cloud 的一个极其有用的功能。 在您可以创建的无数可能的任务中,方便的是,可用的预设任务之一是“死信检测”,它检查传入数据的任何突然阻碍或停止,甚至可以在您的任何服务停止写入 InfluxDB 时通过任何支持 Webhook 的第三方消息平台提醒您。

1. 创建检测

  • 登录 InfluxDB Cloud 2.0 用户界面后,导航到左侧边栏并找到“警报”部分。
  • 在右上角,将有一个“创建”下拉框用于创建新警报,从下拉菜单中,选择警报类型——在本文中,我们将使用“死信检测”
  • 定义查询:选择检测类型后,将出现一个新页面,其中包含两个选项卡:一个用于定义查询,另一个用于配置检测。
    • 要定义查询,您必须选择要使用的数据——至少一个来自您要对其执行检测的存储桶的字段。 此外,您可以在屏幕顶部命名检测,以管理和组织您的所有不同检测。
    • 完成后,单击提交。 这将查询相关数据,显示您选择的存储桶和字段的可视化,并生成 Flux 脚本以检测有效的死信场景。
    Creating a check
  • 配置检测:下一页包含配置检测本身的设置。
    • 属性:在这里您可以安排检测发生的频率,以及在任何延迟数据的情况下包含偏移量。
    • 状态消息:这是已经为您创建消息模板的位置,但如果您愿意,可以清除它并添加您自己的消息。
    • 死信:在“for”框中,您将输入数据停止写入后多长时间您会认为是一个合适的“死信”场景。 在“设置状态为”框中,您将确定检测的严重性。 例如,如果您选择 90 秒和严重,这意味着在 90 秒数据未写入后,状态将设置为严重。 最后,您可以设置停止监控序列的时间,然后单击顶部的复选标记以正式创建检测。
    Configurin the check

2. 将 Slack 应用程序配置为端点

  • 登录到您在 Slack 中所需的工作区。
  • 创建一个新的 Slack 应用程序,或使用该工作区中已有的 Slack 应用程序作为端点。 Configure a Slack App as an endpoint
  • “添加功能和特性”部分下的“基本信息”中,导航到“传入 Webhook”面板。 Configure a Slack App as an endpoint - Basic Information
  • 启用“传入 Webhook”,创建一个新的 Webhook URL,并授予其向工作区中的一个文本频道发送消息的权限。 这将是您在下一节中提供给 InfluxDB 的 URL。 Incoming Webhooks

3. 创建通知端点

  • “通知端点”选项卡上,您会发现它看起来与之前的选项卡非常相似。 再次单击“创建”框。
  • 将出现一个新页面,您可以在其中输入所需端点的信息。
  • 目标:InfluxDB 支持 Slack、PagerDuty 和 HTTP 作为有效端点。
    • 值得注意的是,InfluxDB 的免费计划仅允许与 Slack 一起使用,这也是本文中使用的内容。
  • 在此之后,您可以命名和描述端点以进行组织。
  • 最后,您将把上一节中的 Webhook URL 链接放在剩余的字段中。

Creating a Notification Endpoint

4. 创建通知规则

  • “通知端点”选项卡类似,最后一个名为“通知规则”的选项卡有一个“创建”框用于添加新规则。

  • 将弹出一个新页面,详细说明新规则的属性。

  • 关于:此部分允许您命名新规则并设置检查序列状态的频率

  • 条件:在这里您可以设置触发通知规则的条件。 此外,您还可以为某些标签值触发规则。

  • 消息:选择您在上一节中刚刚创建的端点,以告知规则在哪里发送消息。 您可以在消息中放入任何您想要的内容,但默认模板会通知您通知规则已被触发,并且后面跟着您在第 1 节的检测中创建的消息。

Creating a Notification Rule

结论

恭喜您! 您已成功创建了一个死信检测,并完成了第三方通知。 服务中断比您想象的更常见,因此立即处理它们至关重要,这进一步说明了 InfluxDB 的稳健性。 如果您是 InfluxDB 开源或免费套餐用户并且需要帮助,请使用我们的社区站点或 Slack 频道联系我们。 如果您正在 InfluxDB 之上开发一个很酷的物联网应用程序,我们很乐意听到它,因此请务必在社交媒体上使用 #InfluxDB 分享它! 此外,请随时在我们的社区 Slack 频道中直接与我联系,分享您的想法、疑虑或问题。 我很乐意获得您的反馈并帮助您解决遇到的任何问题!