InfluxDB Cloud 2.0 中的监控与警报

导航至

我们来谈谈 InfluxDB Cloud 2.0 中的监控与警报。我们试图让从数据中学习变得简单,本着这种精神,我们将指导您在 InfluxDB Cloud 2.0 中设置警报和通知。这只需几分钟,但首先,让我们谈谈基础知识。

什么是检查?

基本上,一个 检查 是一个条件。例如,如果我的甜甜圈水平是 0,则分配 CRIT。如果我的电池水平低于 25%,则分配 WARN。检查是通过构建一个查询来形成的,该查询将根据特定条件分配状态(例如,“CRIT”、“INFO”等)。

Monitoring and alerting - InfluxDB Cloud checks

什么是通知?

通知是我们了解系统正在运行的检查的方式。我们通过配置通知端点(例如 Slack)来接收通知。当收到一条 Slack 消息说“甜甜圈水平是 CRITICAL”时,这就是一个通知。

流程

检查和通知构成了 InfluxDB Cloud 2.0 中的警报,这是监控工作流程的重要组成部分。现在我们已经通过了词汇测试,让我们练习设置检查和通知。以下说明假设您已经设置了一个数据收集器。如果您还没有数据收集器,请阅读此 博客 以开始。一旦我们的系统成功收集数据,就到了设置警报的时候了。

InfluxDB 2.0 - Set up an alert

使用首页上的“设置警报”图形开始。这是左侧导航中监控与警报选项卡的快捷方式。

InfluxDB Cloud - monitoring and alerting

创建检查

InfluxDB Cloud 知道我们需要一点帮助开始,所以请点击那个快乐的 创建检查 按钮。

InfluxDB Cloud monitoring and alerting - create a check

我们看到的页面应该看起来很像数据探索器;我们正在使用相同的逻辑来构建检查的查询。

InfluxDB Cloud - build query

第一步是构建将运行在检查内的查询。在上面的示例中,我们正在查询特定主机的平均 CPU 使用率。一旦您有了查询,请点击 2. 检查 完成检查。

InfluxDB Cloud - build query and complete check

首先,命名检查。就像变量名一样,选择一个描述性的名称。屏幕上的规则被命名为“CPU 使用率”。我可能会给我的其他检查起一个同样简单的名字,比如“甜甜圈库存”或“鲨鱼池水位”。

InfluxDB Cloud - name your check<figcaption> 或者鲨鱼坦克甜甜圈库存?</figcaption>

我们还可以在这里安排检查。如果我以每10秒一次的间隔收集CPU数据(如示例所示),我可能希望每30秒安排一次检查,以确保我不会错过太多数据。如果我在监控我的甜甜圈库存,我可能每小时只需要检查一次,因为我的甜甜圈摄入量有限。

现在,我们设置要附加到检查的消息。消息模板可以使用字符串插值,所以上面我们看到的内容:Check: ${ r._check_name } is: ${ r._level } 将评估为类似 Check: CPU Usage is WARN 的内容。因为我们可以使用查询中的任何列,所以我们可以用这条消息尽可能具体。

最后一步是设置条件。让我们仔细看看菜单。

Monitoring and alerting in InfluxDB - set condition

这个设置最好的事情之一是我们可以调整所有的值和条件,以查看当前数据中该条件满足的频率。这有助于我们确保状态消息符合我们数据的实际情况。如果我的甜甜圈水平总是 CRIT,我最终会停止认真对待它。

设置查询和检查后,点击右上角的绿色勾选标记,因为你已经完成了!

所有检查都会在“监控与警报”选项卡中显示,并带有切换开关,以便轻松启用/禁用。

InfluxDB Cloud - create check - CPU usage

如果你像我一样,你想确保你的检查正在工作。将鼠标悬停在检查上并选择 查看历史记录

InfluxDB Cloud - view history

这将显示检查的所有结果列表,无论状态级别如何。

InfluxDB Cloud - check statuses

现在我们知道我们的检查正在工作,我们可以继续设置通知。

创建通知

在同一个“监控与警报”选项卡中,你将看到另外两列,用于通知端点和通知规则。

通知端点

如果你正在使用Cloud 2.0的免费套餐,那么Slack是现在唯一可用的通知端点。这没问题,因为Slack设置非常简单。确保你已启用Slack 入站webhooks。我们只需提供我们的Slack webhook URL并命名端点即可。

InfluxDB Cloud - create notification endpoint

通知规则

我们已经做了大部分工作。让我们现在就设置一个通知!只剩下最后一步:创建通知规则。这一步突出了检查和通知之间的区别。

InfluxDB Cloud - edit notification rule

我们可以在系统中每15秒运行一次检查,但这并不意味着我们一定想收到通知。在通知规则中,我们可以确定通知规则应该以多长时间间隔评估是否发送通知。在上面的示例中,我的通知规则每5分钟运行一次,并且只有当状态为 CRIT 时才发送Slack消息。检查中的其余数据都可用在我的历史记录(和 _monitoring 数据库)中,但我只想在我没有甜甜圈——或者我的CPU使用率如此之高以至于我的服务器即将崩溃时收到通知。

消息模板与我们的状态消息模板完全相同。我们可以在这里进行插值,以便提供尽可能多的数据。

InfluxDB Cloud - notification rule

摘要

我们做到了!从头到尾,我只需要几分钟就收到了关于我危险CPU使用情况的Slack通知。使用InfluxDB Cloud 2.0设置自己的警报,并告诉我们您的看法!