如何提高 Grafana 海量数据场景下的图表访问速度

公众号关注 「奇妙的 Linux 世界」

设为「星标」,每天带你玩转 Linux !



Trickster(tricksterproxy.io)是一个用于 http 应用的 HTTP 反向代理/缓存,也是一个用于时间序列数据库的仪表盘查询加速器。

目前 Trickster 是有由 CNCF 作为沙盒级项目进行托管的,目前 Trickster v1.1 是生产版本,来源于 v1.1.x 分支,主分支来源 Trickster 2.0,目前处于测试阶段。

HTTP 反向代理缓存

Trickster 是一个功能齐全的 HTTP 反向代理缓存工具,适用于 HTTP 应用,如静态文件服务器和 Web API。

功能亮点

  • 一个独特而强大的应用负载均衡器,用于时间序列和通用 HTTP 端点

  • 支持 TLS 和 HTTP/2

  • 为缓存层提供了几种选择,包括内存、文件系统、Redis 和 bbolt

  • 高度可定制,使用简单的 yaml 配置设置,到 HTTP 路径。

  • 内置的 Prometheus 指标和可定制的健康检查端点,用于端到端监控

  • 高性能转发

  • Byte 范围内请求缓存和加速

  • 通过 OpenTelemetry 进行分布式跟踪,支持 Jaeger 和 Zipkin

  • 用于自定义请求路由和重写的规则引擎

时序数据库加速器

Trickster 通过消除 TSDB 上的冗余计算,极大地改善了终端用户的仪表盘图表渲染时间。简而言之,Trickster 对于读取量大的 Dashboard/TSDB 环境,以及那些具有高度标准化数据集的环境,极大提高了性能和可扩展性。

Trickster 兼容 Prometheus、ClickHouse、InfluxDB、Circonus IRONdb

如何加速时间序列

1.时间序列 Delta 代理缓存,大多数仪表盘在每次用户的仪表盘加载时,以及每次自动刷新时,都会向时间序列数据库请求他们希望呈现的整个数据时间范围。Trickster 的 Delta Proxy 会检查客户端查询的时间范围,以确定哪些数据点已经被缓存,并从 tsdb 中只请求仍然需要服务于客户端请求的数据点。这样一来,每个人的图表加载时间都会大大加快,因为 tsdb 在每次加载仪表盘时只查询微小的增量变化,而不是几百个数据点的重复数据。

2. 边界标准化,当 Trickster 从 tsdb 请求数据时,它会稍微调整客户请求的时间范围,以确保返回的所有数据点都与标准化的步长边界一致。例如,如果步长为 300s,所有数据点将落在时钟 0 和 5 上。这确保了数据的高度可缓存性,以更直观地传达给用户,并且所有仪表盘用户在屏幕上看到的数据都是相同的。

3. Fast Forward,Trickster 的 Fast Forward 功能确保了即使在步长边界统一的情况下,实时图表仍然总是显示最新的数据,而不管下一个步长边界有多远。例如,如果你的图表步长是 300s,而时间目前是 1:21p,通常你会在 1:25p 再等 4 分钟才有新的数据点。Trickster 会打破最近数据点的步长间隔,并始终将其包含在对客户请求实时数据的响应中。

可以通过 https://helm.tricksterproxy.io/ 在 Kubernetes 中进行安装。

本文转载自:「k8s技术圈」,原文:http://t.cn/A6cFu3kr,版权归原作者所有。欢迎投稿,投稿邮箱: editor@hi-linux.com。


你可能还喜欢

点击下方图片即可阅读

超实用的容器镜像漏洞检测工具 Trivy 入门指南

点击上方图片,打开小程序,加入「玩转 Linux」圈子

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Grafana中使用MySQL作为数据源并呈现图表,需要完成以下步骤: 1. 安装MySQL并创建数据库和表格。 2. 安装Grafana并在配置文件中添加MySQL作为数据源。 3. 创建一个新的Grafana仪表板并添加一个MySQL查询。 4. 配置MySQL查询以返回您需要的数据。 5. 将查询结果可视化为您需要的图表类型。 以下是一些详细的步骤: 1. 安装MySQL并创建数据库和表格 - 安装MySQL并创建一个新的数据库。 - 在该数据库中创建一个表格,其中包含您需要的数据。确保表格中包含时间戳字段,以便您可以根据时间范围过滤数据。 2. 安装Grafana并在配置文件中添加MySQL作为数据源 - 下载和安装Grafana。 - 在Grafana的配置文件中,添加MySQL作为数据源。 - 配置MySQL连接参数,例如主机名、端口号、用户名和密码等。 3. 创建一个新的Grafana仪表板并添加一个MySQL查询 - 在Grafana中创建一个新的仪表板。 - 添加一个新的MySQL数据源。 - 创建一个新的查询并将其绑定到MySQL数据源上。 4. 配置MySQL查询以返回您需要的数据 - 编写MySQL查询语句以从表格中检索所需数据。 - 在查询中包含时间戳字段,并使用Grafana中提供的时间过滤器来限制查询结果的时间范围。 5. 将查询结果可视化为您需要的图表类型 - 在Grafana中选择要使用的图表类型。 - 配置图表以正确显示您的查询结果。 - 使用Grafana中的其他功能,例如仪表板变量和警报,来增强您的仪表板。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值