智能监控:在 Chronograf 中自动执行仪表板注释
作者:Sam Dillard / 用例, 开发者, 产品
2018 年 3 月 23 日
导航至
在最新版本中,我们宣布 Chronograf 增加了对仪表板单元格进行注释的支持,以标记有趣的时间事件。这对于记录何时发生某些事件非常有用;例如,异常高的资源利用率、何时对基础设施进行了更改、自动扩容事件等。
注释在所有仪表板及其各自的单元格中复制,以便在根本原因分析中关联事件。这是可能的,因为它们默认存储在 InfluxDB 中。
Chronograf 还通过其 API 公开了注释端点。通过此端点,Kapacitor 可用于根据您为任何指标或事件设置的规则自动注释仪表板。这通过 HTTPpost Alert 端点完成。
这是一个关于如何执行此操作的分步指南
- 正常启动 InfluxDB(指向您的 Chronograf 实例)。为此,我们将使用 localhost。有关 InfluxDB 和 Chronograf 入门的信息,请参阅 InfluxDB 和 Chronograf 文档。在此处下载它们。
- 启动 Chronograf。 注意: 必须禁用身份验证。
- 记下您的 Chronograf 实例正在使用的源:'http://localhost:8888/sources/3/status' 表示我们正在使用源 3
- 在 Kapacitor 中,您需要手动编辑其配置文件的 HTTPpost 部分,如下所示(请记住在 URL 中包含第三步中的相应源)
Kapacitor 具有使用自定义有效负载 POST 到任何 HTTP 端点的能力。这在“alert-template”参数中得到利用。有关详细信息,请查看Kapacitor 入门文档。
- 保存并启动
kapacitord
使用该配置:kapacitord -config <path/to/config>
。 - 现在您已准备好开始使用新的端点。
- 在 Chronograf (http://localhost:8888) 中,创建一个新的警报规则并忽略警报处理程序
- 在右上角保存警报规则。
- 在任务管理器页面中,您可以查看用于生成您使用 GUI 创建的警报规则的实际 TICKscript(它将显示在规则和 TICKscript 下)。单击您刚刚在“管理任务”页面的“TICKscripts”部分下创建的规则。
- 在 TICKscript 中,找到读取以下内容的部分:
var trigger = data
。 - 将以下行添加到该节的底部:
.post()
和.endpoint('annotations')
。
我们在 Kapacitor 配置中将 HTTPpost 命名为“annotations”。这是 Kapacitor 任务引用它的地方。
让我们测试一下!
- 为了测试这样的警报,我通常在我的 Mac 上使用这个工具。您可以随意使用您喜欢的任何工具。
- 命令:
brew install stress
和stress -c 4
。 - 转到您已创建的仪表板,该仪表板监控与您的新警报规则相同的遥测数据。
- 终止您的压力进程并刷新仪表板。您应该看到类似这样的内容
更棒的是...
注释在所有仪表板及其各自的单元格中复制...这使您可以查找关联性
祝您注释和自动化愉快!