首页 > 新闻资讯 > 在监控、部署和维护领域中最受欢迎的几个开源项目介绍

在监控、部署和维护领域中最受欢迎的几个开源项目介绍

时间:2022-08-04 21:41来源:财神爷站

  构建可扩展的、高可靠性的软件系统是每个?SRE?的终极目标。本文概述了在监控、部署和维护领域中最受欢迎的几个开源项目。

  成功的?SRE?之路就在于不断的学习。对于?SRE/DevOps?来说,目前已经有许多优秀的开源项目,每个项目都有新的、激动人心的实现,而且常常会面对独特的挑战。这些开源项目完成了繁重的工作,因此你可以更轻松地完成自己的工作。

  在本文中,我们将介绍在监控、部署和维护领域中最受欢迎的几个开源项目。在这些项目中,有一些项目是模拟网络流量的项目,并可以让你为不可预测的(混沌)事件进行建模,从而可以开发出可靠的系统。

  1Cloudprober

  Cloudprober?是一种主动?跟踪和监控的应用,它能在客户之前发现故障。它采用“主动”监控模型,以检查组件是否按预期运行。例如,它主动运行探针,以确保前端是否可以访问后端。同样,也可以运行探针来验证内部系统是否能够真正访问云内虚拟机。这种跟踪方法使得跟踪应用程序的配置变得非常简单,并且与实现无关,使你能够轻松地确定系统中发生了哪些故障。

  特点:

  与?Prometheus?和?Grafana?的开源监控栈的原生集成。Cloudprober?也可以导出探测结果。

  对于云目标,自动发现目标。对?GCE?和?Kubernetes?提供开箱即用的支持;其他云服务也可以轻松配置。

  在易于部署方面作出重大承诺。Cloudprober?完全用?Go?编写,并被编译成静态二进制文件。通过?Docker?容器可以快速部署它。除了大多数更新之外,Cloudprober?通常不需要重新部署或重新配置,因为有自动发现目标。

  Cloudprober?Docker?镜像非常小,并且只包含静态编译的二进制文件,而且即使运行大量的探测,也只需非常少量的?CPU?和内存。

  2Cloud?Operations?Sandbox?(Alpha)

  Cloud?Operations?Sandbox?是一个开源平台,它让专家们了解谷歌的服务可靠性工程实践,并使用?Ops?Management(以前的?Stackdriver)将其调整到他们的云系统中。它基于?Hipster?Shop,一个基于云的原生微服务平台。注意:这需要谷歌云服务账户。

  特点:

  演示服务:一个设计在现代云本微服务架构上的应用程序。

  一键部署:一个脚本处理将服务部署到谷歌云平台的工作。

  负载生成器:在演示服务上生成模拟流量的部件。

  3Version?Checker?for?Kubernetes

  Kubernetes?实用工具?允许你观察集群中运行的映像的现有版本。该工具还允许你在?Grafana?仪表板上以表格形式查看当前镜像版本。

  特点:

  可同时设置多个自托管注册中心。

  该实用程序允许将版本信息视为?Prometheus?度量。

  支持诸如?ACR、DockerHub、ECR?之类的注册中心。

  4Istio

  Istio?是一个开放的框架,用于合并微服务、通过微服务监控流量移动、执行策略以及以标准化的方式聚合遥测数据。Istio?的控制平面在集群管理的底层平台(如?Kubernetes)上提供了一个抽象层。

  特点:

  对?HTTP、gRPC、WebSocket?和?TCP?流量进行自动负载均衡。

  通过丰富的路由规则、重试、故障切换和故障注入对流量行为进行细粒度控制。

  支持访问控制、速率限制和配额的可插拔策略层和配置?API。

  集群内所有流量的自动度量、日志和跟踪,包括集群入口和出口。

  集群中的安全服务到服务通信具有强大的基于身份的身份验证和授权。

  5Checkov

  Checkov?是一个基础设施即代码的静态代码审查工具。它扫描?Terraform、Cloud?Details、Cubanet、Serverless?或?ARM?模型云基础设施,并检测安全和合规性配置错误。

  特点:

  400?多条内置规则涵盖了?AWS、Azure?和谷歌云的最佳保护和安全实践。

  评估?Terraform?提供商设置以监视?Terraform?管理的?IaaS、PaaS?或?SaaS?开发、维护和更新。

  检测?EC2?用户数据、Lambda?上下文变量和?Terraform?提供商中的?AWS?凭证。

  6Litmus

  Litmus?是一个基于云的混沌建模工具包。Litmus?提供了在?Kubernetes?上编排混沌的工具,以帮助?SRE?发现部署中的漏洞。SRE?使用?Litmus?进行混沌测试,首先在暂存区,最后在开发区中发现故障和漏洞。修复这些缺陷,从而提高系统的弹性。

  特点:

  开发人员可以在应用开发过程中运行混沌测试,作为单元测试或集成测试的扩展。

  对于?CI?管道构建器:当应用程序在管道中遭遇故障路径时,将混沌作为管道阶段运行,以查找错误。

  7Locust

  Locust?是一个简单易用、可编写脚本且灵活的性能测试应用程序。你可以在标准的?Python?代码中定义用户的行为,而不是使用笨重的?UI?或特定领域的语言。这使得?Locust?具有可扩展性和开发者友好性。

  特点:

  Locust?是分布式和可扩展的,可轻松支持数百或数千名用户。

  基于?Web?的用户界面,实时显示进度。

  只要稍加修整,就能测试任何系统。

  8Prometheus

  云原生计算基础项目?Prometheus?是一个系统和服务监控系统。它在特定时间从配置的目标提取度量,测试规则,并显示结果。如果违反指定的条件,它将触发通知。

  特点:

  多维数据模型(由度量名称和一组键?/?值维度定义的时间序列)。

  通过服务发现或静态配置发现目标。

  不依赖于分布式存储;单个服务器节点是自治的。

  PromQL,一种强大而灵活的查询语言,可以利用这种维度。

  9Kube-monkey

  Kube-monkey?是?Netflix?的?Chaos?Monkey?的?Kubernetes?集群实现。Kubernetes?POD?的随机删除有助于创建抗故障资源,并同时验证它们。

  特点:

  Kube-monkey?采用的是选择加入模式,并且只针对?Kubernetes?用户的终止,这些用户已经明确接受?Kube-monkey?将终止他们的?pod。

  根据你的需求高度定制的调度功能。

  10PowerfulSeal

  特点:

  兼容?Kubernetes、OpenStack、AWS、Azure、GCP?和本地机器。

  与?Prometheus?和?Datadog?连接以收集度量。

  自定义用例允许多种模式。

  11结语

  开源技术的最大好处在于它的可扩展性。如果需要,你可以在工具中添加功能,使其更适合你的定制架构。这类开源项目拥有广泛的支持文档和用户社区。由于微服务架构将在云计算领域占据主导地位,用于监控和排除这些实例的可靠工具肯定会成为每个开发人员的必备工具。

相关文章
热门手机应用
热门手机游戏