博客/工程

我们如何毕业Grafana剂实验到官方普罗米修斯项目吗

2021年3月29日 6分钟

我们已经在尝试使用和操作普罗米修斯的新方法在过去的一年。每一个成功的Grafana代理对整个实验变成一个上游的贡献普罗米修斯社区受益。

在这个博客中,我代理的历史的成功和不成功的实验。

短暂的历史Grafana代理

最初的版本Grafana代理我们宣布2020年3月非常最小。我们基本上只是把普罗米修斯和TSDB存储,这是你可能没有想使用如果你主要消耗指标通过远程端点。但这仅仅是三分之一的我们最终想要构建:一个代理为所有Grafana实验室的固执己见的可观测性堆栈。bob电竞频道

我们能够完成这一目标在2020年的其余部分。9月,我们释放v0.6.0支持Grafana洛基日志,一个月后我们释放v0.7.0支持Grafana节奏痕迹。

随着时间的推移,Grafana代理变成许多胶水代码,与一群不同的项目在一起。尽管如此,我们想看看我们可以构建上的胶水,和我们做过的分层实验功能。

在普罗米修斯

我一直感兴趣的想法能够每一个机器上运行代理在我的环境中,它无缝地收集日志,指标,跟踪,而无需考虑分片或扩展。

我们第一次实验特性做了尝试实现这个愿景和在场所有的方式回到最初版本的“主机过滤模式。“主机过滤模式代理过滤掉任何目标,不是运行在同一台机器上的代理人。这允许您运行一个代理每台机器,只要有相同的配置文件。不幸的是,这需要每一个代理来执行相同的服务发现。在大型Kubernetes集群迅速土崩瓦解,因为代理将开始压倒API请求观看资源。

两个月后,我们在另一个方向把分片摆,探索“刮服务模式”可能v0.3.0释放。抓取服务模式允许你集群代理,让他们分发发现和刮负载通过读取配置文件配置存储。

因为代理只对配置文件进行服务发现他们的所有权,这种固定的服务发现问题。但它引入了一个新问题:如果你的配置文件发现一百万的目标之一,而另一个文件只发现一个目标,百万的目标将会被分配到一个单独的机器。这是由于静态切分的依赖配置文件而不是运行时发现目标的切分。

我们仍然在这个实验中,我们将继续完善它。我们最近发表了一份设计文档在集群代理分发刮负载和另一个资源配置存储可选。这是两个提议,我相信,一旦结合,将使它明显容易分发刮负载,而不必考虑多少代理或如何分区普罗米修斯服务器运行。

我们探索了一些其他功能。在6月的v0.4.0版本中,我们引入了“集成”的概念,包在最常见的普罗米修斯出口商,所以你可以开始使用可观察性更快。而在一月份的v0.10.0释放,我们介绍了支持亚马逊的签名验证过程版本4(SigV4),它允许Grafana代理编写亚马逊为普罗米修斯管理服务不需要代理。

上游成功的实验

你可以说的整个概念远程只写普罗米修斯是最初的实验。我们有一个很好的用户Grafana云——我们的可观测性平台集成指标、日志和跟踪与Grafana管理作为服务——不想用普罗米修斯如果他们只是向我们发送所有的数据,但是我们不知道这是多么受欢迎的外面。代理的概念被证明是成功的,和用户的开源项目皮质发现有效用例。需求增长,12月17日,2020年,普罗米修斯团队同意盖Agent-like功能在官方项目

这是我们第一次有机会把我们的实验。我一个月后,普罗米修斯提出启动代理上游贡献我们的代码,我们收到了共识和计划在接下来的几个月里。

SigV4是另一个我们的一个小实验,很快被证明是固体,和今年1月,普罗米修斯团队同意与SigV4实验作为官方项目的一部分。由于这是一个小段代码,我们贡献了一分之一,,目前正在审查的公关

普罗米修斯Grafana代理和代理的未来

随着时间的推移,我变得很喜欢做极实验事情下游的模型。Grafana代理用户总是要远小于普罗米修斯的用户群,这给了我们一个迁沙箱在尝试新事物。用更少的用例来考虑,我们可以把功能在一堵墙,只贡献最好的意大利面,粘壁意大利面上游。我们有能力快速迭代,从错误中学习,并建立一个理由功能更广泛的社区可能会从中受益。

普罗米修斯作为图书馆的部分越来越多的项目和供应商,所以普罗米修斯往往更为保守的内部运作的代码库。相比之下,Grafana代理是专注于提供稳定的解决方案为客户要求尽快。bob彩票中奖计划这个设置的好处大家:用户立即Grafana代理得到稳定的特性,而普罗米修斯的用户代理只有他们可以供应商作为一个图书馆的功能。

作为一个例子,Grafana代理包括几种出口商及其配置作为2020年6月以来的稳定特性,而普罗米修斯平价今年3月出版设计文档的功能。

我激动继续玩着新事物,让用户方便地收集他们的指标,贡献一切,普罗米修斯。如果你想帮助我们与这些实验,我们正在招聘!

感谢你的阅读!