在协助数百家企业发展到Kubernetes的过程中,他们制定了新的可视性策略之后,我了解了一些有关组织如何学习,发展和采用新的应用程序可观察性方法的知识。 开源通常对于发展这种理解至关重要。
在云原生监视世界中,普罗米修斯被广泛认为是起点。 就像Kubernetes是云原生世界中领先的开源容器协调器一样,Prometheus是开源云原生监控的领先软件选择。 如果您想了解有关Prometheus是什么以及它如何工作的更多详细信息,请阅读这份不错的Prometheus监视摘要 。 尽管大多数组织最终在生产中不使用不受支持的开源,但许多组织还是从这里开始。 最终的位置取决于您自己的业务需求。 让我简要介绍一下我通常看到的企业进入生产就绪战略的三个阶段。
1.实验
就像采用容器或Kubernetes并不是一overnight而就的,随之而来的可见性策略也不会一overnight而就。 好消息是,借助Prometheus,您的开发人员可以在不受时间或预算限制的情况下进行探索。
在此阶段,您正在寻找:
- 基本仪器安装到位需要什么?
- 它适用于我们自己的软件吗?
- 我可以创建什么样的警报?
- 它为根本原因分析提供了多少细节?
Prometheus可能需要在其仪器模型或查询语言方面进行一些设置,但这是为探索自由付出的低成本。 替代地,商业产品可以提供对时间或功能有更多限制的免费套餐或试用版,但是没有管理开销。
2.仪器
进行一些基本的实验后,是时候将更多数据输入系统并了解稍微扩展一点的部署后的情况了。 为此,请考虑两种形式的检测:
- 使用出口商 。 Prometheus社区中有数十个出口商,旨在简化从通用软件组件中抓取的指标,这些组件已经通过端点公开了指标。 它们可以轻松地通过Kubernetes进行系统地部署。 这些出口商使用推送模型,根据生产环境的复杂性,在安全性方面可能会出现问题。
- 使用Prometheus指标格式 。 Prometheus指定了一种容器和微服务友好格式,允许您直接从应用程序中发出自定义指标。 这实质上是使您能够深入观察自己的代码。 请注意,如果您的开发团队已经使用了StatsD或JMX之类的指标格式,则您可能已经可以使用它,但是这可能需要更多的操作工作并减少功能。 下一节将对此进行更多介绍。
好的,现在您的团队越来越有信心,您已经有了想要的实际指标,我们做对了吗? 不完全的。 是时候投入生产了。
3.运作化
这可能会令人震惊,但您的实验可能看起来与您未来12个月的实际生产环境完全不同。 在实施新的监视策略之前,让我先解决一些关键问题,以供您考虑,以免以后出现失误:
- 解决方案是否满足扩展要求? 有多少数据输入,您想存储多长时间? 您是否愿意管理许多数据库,还是希望全部集中管理?
- 您将如何控制对数据的访问? 您是否会通过要求开发团队满足安全性和合规性要求来限制数据?
- 非Prometheus格式的指标会怎样? 您是否会找到一种支持它们的方法,尤其是当旧版应用程序迁移到容器时?
- 查询语言模型会随着您的成长而工作吗? PromQL功能强大且灵活,随着时间的流逝,它很容易在您的开发人员中采用。 但是您的平台运营和支持团队具有这些技能吗? 您会努力教给他们他们需要知道什么吗?
- 最后,您愿意在正在进行的维护中花费多少资源? 每个系统都需要一些。 您需要决定是否要通过人力资源,普罗米修斯支持形式的资本资源或通过许可商业产品来支付这笔费用。
在此过程中,您总是要回答经典的“生成-购买”问题:您应该使用开源构建内容并自己进行维护,还是购买可以轻松迁移实验并简化未来生活的内容?
这些问题将有助于成功定义下一代容器平台的监视策略。 使用经过仔细衡量的方法,您将能够成长为成功的Prometheus部署,并且还能找出为您的组织构建的正确支持模型。
From: https://www.infoworld.com/article/3275887/3-phases-of-prometheus-adoption.html