如何:使用死男人检查来告警服务中断

导航至

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

无论您是使用InfluxDB记录大量历史股市数据以分析当前经济趋势,还是仅仅为了监测您智能家居中灯光开关的次数以减少浪费的电力,突然的数据流中断或延迟在大多数情况下都会对您的运营造成损害。幸运的是,然而,InfluxDB不仅仅是一个存储解决方案或数据查询工具:设置自动化任务的能力是InfluxDB Cloud的一个极其有用的功能。在您可能创建的无数任务中,方便的是,其中一个可用的预设任务是一个“死男人检查”,它可以检查任何数据流入的突然阻碍或停止,并且当您的任何服务停止写入InfluxDB时,甚至可以通过支持webhooks的任何第三方消息平台向您发出警报。

1. 创建检查

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

2. 将Slack应用配置为端点

  • 登录到您想要的Slack工作区。
  • 创建一个新的Slack应用或使用该工作区中已有的Slack应用作为端点。配置Slack应用为端点
  • 在“基本信息”下的“添加功能和功能”部分,导航到“输入Web钩子”面板。配置Slack应用为端点 - 基本信息
  • 启用“输入Web钩子”,创建一个新的webhook URL,并授予它向工作区中的一个文本频道发送消息的权限。这将是您在下一节中提供给InfluxDB的URL。输入Web钩子

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频道联系我,分享您的想法、关注点或问题。我很乐意获得您的反馈并帮助您解决遇到的问题!