如何使用InfluxDB监控您的监控解决方案

导航到

本文由InfluxAce Nikki Cornell撰写,她是Digits的软件工程师。

在现实世界中,如果您的可观测性管道出现故障,您可能不会收到被监控系统的关键警报。为了解决这个问题,我内部研究了Sensu Go,并决定利用广告的Prometheus指标的/metrics API端点。这就是我构思Sensu Go监控模板,一个InfluxDB模板的过程,我简单提出问题:“您如何监控您的监控解决方案?”

首次接触InfluxDB

从我使用InfluxDB 时序数据库的开始,体验就非常积极。其实用性是空间中最好的之一,而且文档内容丰富且简洁,包含了大量的实例。InfluxDB具有很强的产品适用性,因此它几乎可以与任何堆栈协同工作。

Sensu Go - 简而言之

Sensu的核心是一个可观测性事件管道。它收集、处理和路由各种事件类型,包括发现、可用性、遥测和警报。这是一个具有无限变化和定制功能的代码化监控解决方案,适用于网络和基础设施可观测性(“o11y”,对于那些不知道的人来说,是“可观测性”的缩写)。Sensu Go是Sensu Core(Sensu的原始版本)的Go重写,具有新的功能和降低的操作开销。它消除了新用户和经验丰富用户的一些摩擦。

使用InfluxDB模板进行监控

InfluxDB模板是开源工具,包括打包器和一系列预制的监控解决方案,让您能够快速定义任何技术的整个监控配置,这些配置可以存储在一个易于共享的、单命令导入InfluxDB的yml文本文件中。构建提交模板很容易,这就是为什么许多InfluxDB模板都是由社区贡献的。

Sensu Go监控模板的工作原理

Sensu Go公开了一个/metrics API端点,它返回Prometheus指标。这些指标包含内部性能数据,例如Sensu处理的事件,以及Sensu配置的键值存储etcd的健康信息。《Telegraf的Prometheus输入插件》抓取、提取、转换并存储这些指标点作为InfluxDB中的时序数据。

模板具有预配置的仪表板,如下所示。

Sesu Go monitoring dashboard

该模板简化了与时间序列数据以及Sensu Go的协同工作。虽然Sensu Go有外部支持和集成,可以将时间序列数据收集和路由到InfluxDB,但此模板实际上提供了更直接的方式来了解Sensu的内部运行。使用Sensu、Prometheus、Telegraf和InfluxDB在堆栈中,我们实际上能够提取和将监控解决方案的性能指标和健康检查转换为时间序列数据库,以便进行分析和可视化。

轻松进行指标提取

由于此模板的可用性和InfluxDB 2.0内置的UI,这进一步简化了指标提取。例如,文章“轻松实现事件监控可见性:使用InfluxDB和Grafana进行Sensu检查指标提取”解释了如何简化Sensu Go检查和StatsD服务器收集的指标提取。现在,该模板简化了从Sensu Go支持的Prometheus指标中提取指标的过程。DevOps可能是此模板最强有力的用例,特别是对于Sensu和其他系统的操作员。

如果您对部署Sensu Go和与Telegraf插件协同工作有一些基本知识,那么使用此模板非常简单。只需注册一个免费InfluxDB Cloud账户。从那里设置插件和模板应该相当直接!