使用 Grafana 和 InfluxDB Cloud 3.0 的 Deadman 告警

导航至

在您的监控系统中标记故障或不活动对于维护操作可靠性至关重要。这篇博客将指导您使用 Grafana 和 InfluxDB Cloud 设置 deadman 告警,这些工具可以帮助您在问题变得 критическими之前检测到它们。我们将集成 Grafana 的可视化功能和 InfluxDB Cloud 的数据管理功能,以创建一个强大的监控系统。在本指南结束时,您将了解如何配置和使用这些工具来保持您的系统平稳运行。

本教程是《使用 Grafana 和 InfluxDB Cloud Serverless 进行告警》的后续,这是一篇关于使用来自 InfluxDB Cloud 的数据在 Grafana 中配置阈值告警的博客文章。那篇文章利用了 Flight SQL 数据源,您仍然可以使用它连接到 InfluxDB Cloud 3.0。然而,Grafana 此后发布了官方的 InfluxDB v3 数据源,本教程将使用它。

要求

要学习本教程,您需要以下内容

  • 您的机器上安装的 Telegraf 实例
  • 一个 InfluxDB Cloud Serverless 账户
  • 本地 Grafana 或 Grafana Cloud 实例

在本示例中,我们将使用 Telegraf 将 CPU 指标写入 InfluxDB Cloud。我选择这个数据集仅仅是为了演示如何使用 Grafana 进行告警,但您可以使用任何您想要的 Telegraf 插件或数据集。请按照此文档配置您的 Telegraf 代理。或者,您可以按照这篇博客文章中的说明,使用 InfluxDB UI 配置 Telegraf。(请注意,虽然该文章引用的是 InfluxDB 2.x,但在 InfluxDB Cloud 3.0 中配置 Telegraf 的用户体验是相同的)。

您也可以按照以下步骤从 UI 配置 Telegraf 代理

  • 在主页上,点击“添加数据”
  • 在“Telegraf 报告代理”下,选择“配置代理”
  • 点击“+ 创建配置”
  • 选择要写入数据的存储桶(我已经创建了一个名为“cpu”的存储桶)
  • 搜索并选择 CPU 插件
  • 按照弹出的说明操作

接下来,我验证了我可以使用数据浏览器成功地从 InfluxDB Cloud 3.0 查询数据。

因为我们将创建一个 deadman 告警,从技术上讲,您根本不需要向 Grafana 发送任何数据。

在 Grafana 中设置 InfluxDB v3 数据源

要在 Grafana 中设置 InfluxDB v3 数据源,请按照以下步骤操作。首先,导航到“数据源”页面并搜索 InfluxDB。

然后选择 InfluxDB 并进行配置。这意味着包括您要从中查询和监控数据的数据库、身份验证令牌和 URL。


成功配置 InfluxDB 数据源后,您可以通过在仪表板中构建面板来测试它。在这里,我们查询的是 usage_system 和 time 列。我们将基于此数据创建一个 deadman 告警。

在 Grafana 中配置 deadman 告警

现在我们已经成功将 Grafana 连接到 InfluxDB Cloud 3.0,我们可以配置 deadman 告警。导航到“告警和 IRM”。

接下来,选择“告警” > “告警规则” > “新建告警规则”,并通过提供规则名称开始配置您的 deadman 告警。

现在定义查询和告警条件。我们查询与上面构建可视化相同的数据。

要创建 deadman 表达式,我们可以计算值并设置一个阈值,以便当计数小于 1 时,我们知道我们没有返回任何数据。

接下来,设置评估行为。为了测试,我们将每 1 分钟运行一次此测试,以确保我们成功获得 deadman 告警。

现在我们可以配置标签和通知。我们将使用通过 Influx Community Slack 组织的 #notifications 频道提供的公共 webhook URL。

最后,我们可以配置注释。对于本示例,简单的“没有数据传入”就足够了。

保存告警并停止 Telegraf 代理后,我们成功在 #notifications 频道中收到了“没有数据”的告警。

恭喜!您已成功使用来自 InfluxDB Cloud 3.0 的数据在 Grafana 中配置了 deadman 告警。

最终想法

Grafana 是一个强大的可视化和告警工具。虽然本教程只是略微触及了 Grafana 和 InfluxDB 的可能性,但值得进一步探索它们,看看它们如何改进您的工作流程和业务运营。一如既往,从这里开始使用 InfluxDB Cloud 3.0。如果您需要帮助,请联系我们的社区站点或 Slack 频道。