Sensu 使用 InfluxDB 和 Grafana 检查指标提取

什么是 InfluxDB?

InfluxDB 是必不可少的时间序列工具包——一个开源时间序列数据库,旨在处理高写入和查询负载。它可以存储来自系统、传感器、队列、数据库和网络的指标、事件、日志、跟踪;每秒可以摄取数百万个数据点。

全球有超过 260,000 个 InfluxDB 实例在使用,涵盖多个行业的大量用例(DevOps 监控、物联网和传感器监控、实时分析、网络监控和机器学习)。由于它是一个开源项目,如果您需要时间序列数据库,InfluxDB 是您的起点。

与其他类型的适用于时间序列的数据库不同,InfluxDB 是专门为处理时间戳数据而构建的,可以轻松累积、分析系统所测量的指标并对其采取行动。

什么是Sensu?

Sensu 是一个监控事件管道,可收集、处理和路由不同的事件类型,包括发现、可用性、遥测和警报。该管道使 Sensu 极其强大且完全可定制。

Sensu监控管道

图 2 – Sensu:监控事件管道。

Sensu 专为满足现代云计算环境的需求而构建,在监控应用程序、服务和基础设施方面很受欢迎。Sensu 框架由通过消息总线进行通信的客户端和服务器应用程序组成。

Sensu 在其领域的与众不同之处在于它对管道的关注。您可以通过多种不同的方式收集、扩展,然后过滤、变异和处理指标。Sensu 后端有一个 API。因此,如果您可以将事件格式转换为 Sensu 事件格式,Sensu 就可以摄取它。

什么是Grafana?

Grafana 是一个开源指标分析和可视化套件。它最常用于可视化基础设施和应用程序分析的时间序列数据,但也可用于其他领域,包括工业传感器、家庭自动化、天气和过程控制。

如何使用 InfluxDB 和 Sensu 进行指标提取

Sensu 监控事件管道的免费开源版本是 Sensu Go:它是原始 Ruby 项目的改进,围绕指标进行了一些改进。Sensu 提供多种机制来监控性能指标。

  • StatsD 是一个度量聚合器,用于收集值,例如仪表、计数器、计时器和集合。每个 Sensu 代理都有一个嵌入式 StatsD 守护进程,用于侦听 UDP 流量。
  • 执行的命令,用于监视状况或收集测量结果。服务检查收集受监控节点上的数据,并遵循与 Nagios 服务检查相同的协议。
  • 每个 Sensu 代理都会运行该检查集合。然后检查将输出该数据、生成退出代码并指示特定状态。
  • Sensu 将解析 STDOUT(标准输出)的输出并生成指标;因此,度量提取。

图 3 – Sensu 可以处理的监控类型。

Sensu 目前支持四种不同的输出指标格式:InfluxDB、OpenTSDB、Graphite 和 Nagios。

度量类型(上面提到的每个数据库名称)是定义检查输出应解析哪种格式并映射到相应字段输出度量格式的标识符。

Sensu 检查配置

为了将指标引入 InfluxDB,我们定义了一个名为 的检查check-cpu-influxdb。它将被设置为在您希望其订阅的任何节点上每 10 秒运行一次。

图 4 – Sensu 检查配置和事件数据。

在上面的截图中:

  • 底部的命令是一个简单的 shell 脚本,它将打印出 InfluxDB 线路协议中的 CPU 使用情况。
  • 屏幕左侧的最后两个字段指示将进行检查输出指标提取。
  • 生成的事件不仅包含执行上下文(例如状态、输出、持续时间),还包含有关受监控节点的实体信息,最重要的是提取的指标。

现在我们有了 Sensu 事件中的度量点集合,我们可以将其发送到 InfluxDB。

图 5 – Sensu 如何与 InfluxDB 时间序列数据库集成。

屏幕右侧的处理程序配置获取事件数据并调用 Go 二进制 Sensu InfluxDB 处理程序 - 一个将指标发送到 InfluxDB 的 Sensu 事件处理程序。以下是该处理程序如何与 Sensu 配合使用:

  • Sensu 可以使用检查输出指标提取或 StatsD 侦听器来收集指标。
  • 收集的指标通过事件管道传递,允许 Sensu 将指标传递到配置的指标事件处理程序。
  • InfluxDB 处理程序允许存储、检测和可视化来自 Sensu 的指标数据。
  • 该处理程序接受配置选项作为命令行标志或环境变量。
  • 然后,额外的指标标签丰富可以作为 Sensu 事件管道的一部分进行。

Sensu 监控事件管道

图 6 – 监控事件管道概述。

监控事件管道数据流如上图所示,如下:

  • Sensu 后端将向安装了 Sensu 代理的监控节点发送服务检查。
  • 代理将执行检查并以四种受支持格式中的任意一种提取指标。
  • 后端将接收该事件数据并将其通过监视事件管道传递。
  • 在此特定用例中,您可以过滤此事件(仅当它包含指标时)、更改该事件以丰富任何指标标签并添加有关数据和指标来源的其他上下文。
  • 然后,您可以通过将事件发送到时间序列数据库来处理这些事件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Prometheus是一种一站式监控告警平台,它支持对云或容器的监控,并且具有功能齐全、依赖少的特点。相比其他系统主要对主机监控,Prometheus具有更强大的数据查询语句表现力和内置统计函数。然而,在数据存储扩展性和持久性方面,Prometheus不如InfluxDB、OpenTSDB和Sensu好。\[1\] 要对elasticsearch进行监控,可以使用基于事件的触发来修改指标的值。通常,这些指标需求来自业务方面,例如自研的应用需要将相关指标暴露给Prometheus进行监控和展示。在自研应用的代码中嵌入指标采集的代码(指标定义和设置值),可以实现这一目的。\[2\] 此外,任何遵循Prometheus数据格式并提供监控指标的程序都可以称为Exporter。在Prometheus社区中,有许多可供选择的Exporter,如node_exporter。这些Exporter可以帮助我们监控各种不同的系统和服务。\[3\] 综上所述,要详细了解Prometheus对elasticsearch的监控指标,可以使用基于事件的触发来修改指标的值,并使用适当的Exporter来收集和展示这些指标。 #### 引用[.reference_title] - *1* [prometheus 监控概述](https://blog.csdn.net/WuDan_1112/article/details/126074566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Prometheus监控实战之exporter详解](https://blog.csdn.net/ygq13572549874/article/details/129114047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千源万码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值