查看原文
其他

Prometheus v2.32.0 重要功能,新增代理模式!

点击关注👉 Kubernetes 生态圈 2022-11-10

云原生时代,Prometheus 是最佳的监控和报警解决方案之一,Prometheus将在下一个版本新增代理模式(Agent Mode),该模式内置在Prometheus二进制文件中,其禁用了一些常见的功能,并且针对抓取和远端写入进行优化。通过在Prometheus中加入精简的代理模式,使得Prometheus具有自动横向扩展的能力,能拓展Prometheus的使用模式。

Prometheus从下一个版本v2.32.0开始,用户可以选择启用实验性功能—代理模式(Agent Mode),而这个模式是针对远端写入的使用案例而来。代理模式禁用查询、报警,并将和本地储存转换成自定义的时序数据库(TSDB)预写式日志(WAL),还有包括抓取逻辑、服务探索和相关配置都保持不变。

在用户的使用环境中,只需要将数据转送到远端Prometheus服务器,或将任何的远端写入相容项目,便适合使用代理模式,也就是说,当用户不打算在本地端查询,或发出数据报警,并且也不向外部串流传输指标,则使用代理模式有提高效率且方便扩展等优势

效率是代理模式的最大优点,用户自定义的代理数据库预写入日志,在成功写入远端后,能够立即删除数据,当数据无法抵达远端端点时,则数据会暂时保留在磁盘中,直到远端端点重新连上,不过目前只提供2个小时的缓冲,类似非代理Prometheus。

这代表不需要在记忆体中建构数据块,也不需要为了查询目的,维护完整的索引,代理模式使用的资源,所使用的资源非常少。由于代理模式的运作效率高,对于边缘的低资源装置更为友善,能在相同的运算成本发送更多指标。

新的代理模式另一个优点是容易扩展,官方解释,理想中的自动扩展功能,能够依照指标的数量,增加或缩减执行数量,但是这在Prometheus的服务器模式中难以实现,因为服务器模式的Prometheus为有状态,收集到的数据会保存在一个固定位置,而在缩减执行目标时,就要将数据备份到现有执行目标中,便会面临数据重叠数据错误标记等问题。

代理模式的本质:是将索引、抓取和远端写入,移动到一个单独的微服务中,使得该微服务专注在撷取数据任务上,因此代理模式下的Prometheus可以是无状态的,虽然为了避免指标遗失,需要有一个HA代理,并附加一个永久性磁盘,但从技术上来说,当用户具有数千个指标目标,就可以部署多个Prometheus代理,并且安全地更改执行个体抓取的目标,因为所有的样本都会被推送到同一个中央储存。

简单来说,代理模式支持以Prometheus为基础的指标抓取,进行简单地水平自动缩放,并且能够对指标目标做出动态变化,这个目标,将是Prometheus社区未来的发展方向之一。

代理模式在下一个Prometheus版本,才会加入成为实验性功能,磁盘上的标志、API和预写入日志可能会改变,但是因为Grafana Labs先前进行的一些开源工作,已经实测过代理模式,因此某种程度代理模式已经具有一定的稳定性

虽然官方在Prometheus加入代理模式,但是原有服务器模式仍然是当前被推荐且稳定的模式,而具有远端储存功能的代理模式,会增加额外的复杂性,官方提醒用户应该谨慎使用。


- END -


推荐阅读 

CentOS8 落幕,将于本月底终止维护!
一篇文章讲清楚云原生图景及发展路线
Kubernetes 限制节点启动的Pod数量
Kubernetes 1.23 新版发布:探索新边界
Kubernetes 实现灰度和蓝绿发布
16个核心概念带你入门 Kubernetes

K8s中大量Pod是Evicted状态,这是咋回事?

Prometheus + Grafana 实现服务器的可视化

K8s运维锦囊,19个常见故障解决方法

2021年最佳的开源 Kubernetes 工具

线上 K8s Ingress 访问故障排查思路

Kubernetes上生产环境后,99%都会遇到这2个故障

Prometheus 高可用方案

Kubernetes生态架构图

Kubernetes 在企业中的应用场景



订阅,一起成长

K8s生态圈






点在看,K8s一年不出问题👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存