博客/社区

“开源做正确”:为什么规范采用Grafana,洛基,Grafana代理他们的新栈

2021年的10月28日9分钟

米歇尔Mancioppi规范化是一个产品经理负责可观测性和Java。他是建筑师的新系统的可观测性称为LMA2的运营商。

乔恩·西格尔是一个规范的工程主管负责护符,迷住了运营商框架,和许多的操作员操作在不同的软件开发团队口味包括可观测性、数据平台,MLOps,身份,和更多。

护符甚至再现操作软件安全的世界里,可靠,在规模。护符实现的承诺模型驱动的业务。优秀的可观测性无疑是操作系统的一个关键成分,这就是为什么吸引运营商生态系统长期以来提供运营商能够运行多种开源监控软件。我们共同参考这些运营商日志、度量和警报(LMA)堆栈。

随着云计算的出现本地软件和microservices,和由此产生的增加系统的复杂性,我们决定是时候创建下一代LMA Kubernetes上运行。它需要能够监控Kubernetes上运行的工作负载,虚拟机,裸露的金属或边缘。

回到绘图板,我们也重新评估哪些组件将这新的云原生LMA的一部分。由此产生的设计是由领导的开源项目或者非常严重了bob电竞频道。让我们告诉你为什么。

有一些关于护符…

护符需要一个从根本上不同的方法建造和运营的基础设施。而不是关注底层组件,如虚拟机,子网,或容器、护符用户关注操作应用程序,它负责其余的。

任何护符部署是一个控制器的核心,这是意识到一组潜在云和的状态模型和应用程序管理。模型的护符本质上是工作区组相关的应用程序,应用程序被称为的运营商

的运营商包括代码,了解如何安装、配置、集成和一般操作的软件。它使用一个代理与护符通信控制器,提供自动部署一个应用程序时。护符的优势是,运营商函数相同的底层云是否AWS, Azure, OpenStack, VMware, Kubernetes等等。你总是只有一个护符部署foo与护符远离胜任地操作软件,用户体验和工具在云间的一致,使他们之间的无缝集成。

有一个日益增长的运营商可以在的集合Charmhub。去看一看!

一个新的LMA新的云原生世界

新LMA堆栈,我们称之为“LMA2”,有以下设计目标:

  • 质量和可靠性:正常运行时间和可靠性是一个必须对任何软件,但更多的监控软件。如果你的监控软件不能启动并运行地告诉你什么不工作,有什么好处,真的吗?
  • 可伸缩性:监控有很强的网络效应。提供充足的资源,LMA2应该能够规模监控很多软件为你运维团队有最深的可能的了解您的基础结构和应用程序。
  • 资源效率:LMA2应当能够运行在数据中心,需要尽可能少的计算资源来完成它的使命。
  • 可组合性:LMA2应该包含一组高质量的操作符是为了自己更好的在一起工作得很好。
  • 一致的用户体验:LMA2应该确保一个一致的、连贯的体验为最终用户,觉得设计的工具一起工作——一个UI将所有类型的可视化遥测。LMA2也应该上创建一致的元数据遥测,遥测的上下文(它来自哪里?”)可用于桥梁在遥测式竖井——从度量日志,日志和警报,同时利用相同的元数据无处不在。
  • 一致的操作经验:后各种软件类似的哲学感觉类似的操作,故障模式,依赖,和陷阱。这种一致性在运营商帮助极大降低认知负荷。
  • 监控覆盖:指标,从日志和警报(这是字面上的“LMA”绰号的,毕竟),还有其他类型的遥测中宝贵的云原生环境,如分布式跟踪和合成监视。LMA2应具有可扩展性的设计的,所以它可以生长的能力处理其他类型的遥测。从另一方面,大量的软件不是原生云,甚至在云上运行。LMA2应该能够监控软件Kubernetes的边界之外。例如,仅仅关注规范产品,LMA应该能够监控bob手机app官网Ceph,吸引OpenStack运行裸机,MAAS或在容器或虚拟机LXD
  • 易于操作:我们希望LMA2监视堆栈,感觉就像一个设备,尽可能少的旋钮转,伟大的开箱即用的功能。我们想要完全删除设置的辛劳护符的监视工作负载;它应该像建立几个护符关系那么简单。
  • 展示的声明性力量护符模型:如果一些功能或集成可以充分模仿迷住了运营商之间的关系,它应该是。同时,关系必须在语义上有意义:通过观察一个护符模型,你应该直观地了解两个魅力被相关的结果。

上面的设计目标是雄心勃勃的,我们很高兴与我们的努力的结果是如何塑造!我们的成功在很大程度上得益于惊人的质量普罗米修斯,Grafana,Grafana洛基项目,以及他们的哲学与LMA2的设计目标,让我们深入研究。

普罗米修斯,Grafana Alertmanager,洛基救援

在规范,开源是我们的DNA的一部分。护符和整个的运营商生态系统是开源的。我们看到目光Grafana人,那些优秀的开源的公民,非常适应社区,和整体的一种乐趣。

许多好处的Grafana生态系统

当然,不仅人民必须好,软件必须好,!领导的开源项目,导致Grafana实验室不要失望!bob电竞频道非常简洁,为什么我们决定建立LMA2通过组合Grafana项目如下(不一定按照重要性!):

  1. 开源软件做正确的。
  2. 容易积分组件。
  3. 资源效率。
  4. 共享支持组件。
  5. 如何使用对象存储的简单性质。
  6. 一致的哲学和用户体验(到“洛基是普罗米修斯日志”)。
  7. 良好的性能和可伸缩性。
  8. 遥测的报道类型(指标、日志、分布式跟踪、综合监控、等等)。
  9. 好和Grafana代理人代理的故事:它包一拳!

Alertmanager,扩大在上面,普罗米修斯和Grafana LMA2上一次迭代的主食,再依靠他们仅仅是显而易见的:熟悉终端用户,质量,方便使用,设计理念的一致性,资源效率——这是所有!

洛基:刷新日志分析

日志,洛基,“普罗米修斯”已取代Graylog LMA2日志分析组件的选择。我们运行了一个详细的评估涉及,在其他方面,易于操作,易于集成和其他LMA2组件,稀疏的依赖,和可伸缩性。我们很兴奋的看到洛基2.0了专用的索引存储,进一步减少LMA2的足迹。此外,洛基使用对象存储,而不是复杂的数据库,这是令人惊异的可靠性和易于操作的。一致的用户体验,在Grafana洛基很好整合,普罗米修斯LogQL感觉很熟悉的用户

Grafana代理:遥测集合强国

Grafana代理还值得爱的提及。监控从网络效应:监控在一起越多,就越容易找到相关性和根源。易于使遥测收集有助于实现这一网络效应:一个代理,能够收集和运输指标,日志,和分布式痕迹很长一段路要降低成本和复杂性的许多系统的监控。我们喜欢Grafana代理,我们将构建的自我监控能力LMA2用它!我们预见自我监控的两种模式:一个数据到远程LMA2堆栈(把它像普罗米修斯联盟,但整个堆栈),和一个堆栈监视器,用于独立部署。

一幅画顶一千个词

护符的声明性特性非常适合于图形化表示。

上面的图示护符模型举办一个LMA2堆栈。可读性,监测Grafana代理之间的关系并不是描述的各种组件。

这上面你看到一个图表示的部署LMA2护符模型以及不同的运营商如何相互作用。(注意,不是所有的图实现。)

如前所述,堆栈的自我监控Grafana代理是我们期待很快实现。类似地,我们正在迷人(护符社会所谓的过程创建的运营商)一个入口控制器,这样我们可以公开以外各种端点需要监视或从外部接收数据MicroK8s集群,韧性的原因,我们希望LMA2驻留在专用MicroK8s集群与负载和分享尽可能少的基础设施监控。端点,需要接触外面的MicroK8s集群:

  • 洛基push_api端点
  • Web ui的普罗米修斯,Alertmanager Grafana
  • 普罗米修斯的remote_write(注:我们目前不打算实现支持普罗米修斯联合或remote_read,但如果用例出现…)

这只是一个开始

关于遥测类型,工作在新的云本机LMA2目前关注指标,日志和警报。但有更多可观测性,尤其是在云原生环境。在“可观测性是什么?”页面我们经历许多其他遥测类型,如分布式跟踪,或最终用户和合成监测。Grafana生态系统的项目,如Grafana节奏转k6适合那些账单,让我们相信,随着LMA2成长和变得更有能力,它将利用项目与这个一致的哲学和质量与普罗米修斯,今天Grafana,洛基。

另一个方向我们想追求LMA2高可伸缩性和可用性。我们怀着极大的兴趣看皮质的方法将多租户和弹性的普罗米修斯的经验,和洛基已经有很多功能我们需要的尺寸。

加入我们在模型驱动的可观测性一流的经验Charmhub Mattermost,看一看LMA2文档,或直接到LMA光兜风!