【大数据】在 Grafana 中监控 Apache Druid

作者:Beata Zawiślak

前言

现代系统,尤其是分布式系统,正变得越来越符合业务期望和客户需求。结果是它们变得越来越复杂,因此如何跟踪执行的每项操作并不明显。

幸运的是,良好的系统监控越来越受欢迎,并且不仅限于收集和处理日志。新系统提供了收集有关它们的最重要信息作为指标的可能性。

系统指标是指系统中存在的各种类型的测量。系统中的每个资源都可以观察性能、可用性、可靠性和其他特征等因素,它们都拥有一个或多个可以从中收集数据的指标。

Druid 中的指标

在 Druid 中,有一种简单的方法可以配置发出指标,这些指标对于监控查询执行和性能、摄取过程和异常至关重要。在 Druid 文档中,您可以仔细查看每种指标类型、其维度和简要描述。

Druid 提供的一些关键指标组包括:

  • 查询指标:查询指标跟踪在 Druid 上执行的查询的性能。这包括完成查询所需的时间、查询响应中返回的字节数和查询成功率等指标。
  • 索引指标:这组指标提供有关索引进程的所有必要详细信息,例如运行任务所花费的时间,以及在发出期间成功执行的任务操作数。
  • 协调器指标:使用这些量度,可以跟踪一般区段状态。
  • 摄取量度:Druid 提供通用的原生摄取指标,并可以监控索引服务,例如 Kinesis 或 Kafka。
  • 一般运行状况指标: 一般运行状况指标包含有关分段数量及其大小、JVM 内存、Zookeeper 连接状态和断开连接时间的信息。
  • 系统指标: 允许与 CPU 使用率、内存使用率、磁盘 I/O 和网络流量相关的信息。仅当包含 OshiSysMonitor 模块时,这些指标才可用。
    这些指标对于监控 Druid 集群的运行状况、性能和效率、识别瓶颈、优化配置以及确保实时分析工作负载的平稳运行至关重要。此外,Druid 与 Grafana 的集成允许用户根据这些指标的预定义阈值设置警报。

Grafana in Druid

查看我们之前关于将 Grafana 与 Druid 集成的教程,以获取有关如何正确设置环境的详细指南。在本文的后续部分,我们将向您展示您认为对基本 Druid 监控有用的示例仪表板。

Grafana 中的示例仪表板

成功和失败的查询数量

使用的指标:

查询/成功/计数
查询/失败/计数
查询/中断/计数
最基本的指标(但非常有用)是返回成功、失败、中断或超时查询数量的指标。这些简单的信息可能很容易用于 Druid 集群监控。

成功和失败的查询数
1

在 Grafana 中,我们可以根据白天显示各个值。由于可以轻松地按时间进行筛选,我们可以显示特定时间范围的折线图。
特定时间范围的折线图

此外,Grafana 还提供了一项在图表上显示数学表达式的功能。在我们的示例中,我们希望查看查询的成功率。正查询与 all 的比率为我们提供了有关查询性能的更多详细信息。

查询的数量是特定的,并且取决于系统,但无论查询数量多少,肯定查询的比率都应该很高。
在这里插入图片描述

成功查询率
要配置上述图表,您必须使用创建面板时提供的 Grafana 表达式功能。

首先,您必须选择有关成功、失败和中断查询数量的指标。为此,请向 Prometheus 编写适当的 PromQL 查询。

在下面的屏幕截图中,您还可以注意到添加了全局 Grafana 变量,例如“Servers”和“Jobs”以进行筛选。他们不需要获得成功的查询速率面板。

指标浏览器

在这里插入图片描述

下面的表达式显示了如何计算成功查询率。

$A 是 Prometheus 查询的结果,它返回成功查询的数量。
$B 是 Prometheus 查询的结果,它返回失败的查询数。
$C 是 Prometheus 查询的结果,它返回中断的查询数。
表达
请记住禁用所有查询,尽管表达式具有最终结果。

  1. 缓存命中率
    使用的指标:

druid/query/delta/hitRate
Druid 支持两种查询缓存类型:按段缓存或缓存整个查询。无论使用哪种类型,我们都希望检查我们的缓存是否有效。Druid 可能会将缓存指标收集为 delta 或 total 类型。它们之间的差异很大,我们必须在查询过程中小心选择正确的一个。delta metrics 类型收集自上次发出以来的缓存指标,而 total metrics 类型收集缓存指标总值。我们可以在 Grafana 面板中使用 druid/query/delta/hitRate 指标来监控缓存性能。请注意选择 delta metric type 而不是 total 1 来自己绘制下面的图表。

缓存命中率
在这里插入图片描述

  1. 完成查询所花时间
    使用的指标:

druid/query/time/sum
已执行查询的平均查询时间可能会向我们显示查询的性能有多好,但如果没有额外的细节,很难推断出可能的问题。通过按查询类型对时间指标进行分组,可以查看查询类型与执行查询的平均时间之间的关系。有了它,我们可以展示哪种查询执行时间最长并且让客户感到恼火。

完成查询所用的平均时间
在这里插入图片描述

结论

在 Grafana 中监控 Druid 为跟踪 Druid 集群的运行状况、性能和效率提供了全面的解决方案。用户可以通过各种可用的指标(包括查询、索引、协调器、摄取和一般运行状况指标)获得对系统操作的宝贵见解。Grafana 的灵活性支持创建信息丰富的控制面板,使用户能够可视化关键指标,例如查询成功率、缓存命中率和查询完成时间。这种集成可帮助用户优化配置、识别瓶颈,并确保实时分析工作负载在日益复杂的分布式系统中顺利运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值