0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提高CI/CD系统可观察性的四种技术

阿铭linux 来源:CSDN博客 作者:琦彦 2021-08-17 09:31 次阅读

可观察性是DevOps团队的重要组成部分,它可以帮助组织从系统的输出信息,推断系统内部状态。它是一个持续的过程,从你的CI/CD流水线开始,并贯穿于应用程序的整个生命周期。

可观察的CI/CD流水线,使你能够主动监视问题并跟踪CI/CD构建期间发生的错误。如果没有对流水线的可见性,在系统出现异常时,很难追溯到其根本原因。在这篇文章中,我们将讨论提高系统可观察性的四种技术。

1. 生产环境的可观察性

有些错误仅在应用程序部署到生产环境后才会发生,因此很难在本地复现,有些还只是间歇性地发生。当涉及到这些问题时,传统的测试和监控是不够的,因为它们主要用于检查和监控已知错误或问题。但是,如果你能确保你的生产系统是可观察的,那么你可以在故障发生时尽快找到原因或解决问题,从而避免代价高昂的停机时间。应用程序还依赖于许多关键组件,例如存储、队列等。生产环境的可观察性,还使你可以监视应用程序所依赖的三方组件的持续正常运行的时间。生产环境的可观察性有两个关键部分——警报和被动监控。

警报

监控系统,不断检测重要的系统事件并向组织发送警报信息。大多数警报系统都是可配置的,允许你在应用程序的行为方式超出预定义阈值时发送警报。警报可以通过短信、电子邮件甚至Slack消息发送——因此开发人员和利益相关者都知道系统什么时候发生问题。此类警报系统可确保开发人员在应用程序未按预期运行时收到通知。

被动监控

被动监控,对于全面了解应用程序性能和用户使用习惯至关重要,允许软件团队使用真实数据直接跟踪用户体验质量。它不会将测试数据注入网络以模仿用户行为。相反,它从各个网络位置收集用户实际数据。

2. 优化日志记录

日志记录,一般包含有关软件系统发生事件的信息。在对软件进行故障排除时,日志可让你深入了解系统最初出现故障的时间和原因。毫无疑问,日志数据为DevOps团队提供了对被监控应用程序或系统的更高级别的可见性。这使他们能够识别错误原因,以及应用程序中特定问题发生的频率。

但是,如果不对日志进行格式优化和集中处理,日志数据可能会膨胀,直到变得难以使用,尤其是在分布式架构中。当你收集大量业务无关和非结构化数据时,日志分析的挑战会增加。良好的日志记录,会优先记录对应用程序性能至关重要的指标,并确保日志消息结构化、描述性强并包含有用的信息。该信息应包括:

时间戳

唯一用户ID

会话ID

资源使用信息

日志也应该在一个集中的、可访问的位置进行管理。这样,你可以轻松关联不同的日志,将它们与特定会话或用户联系起来,以便于更快地进行故障排除并了解整个基础架构中发生的情况。

3.DevOps文化

仅收集日志或监控生产环境的应用程序是不够的。为了在跨职能团队中实现系统全面的可观察性,你还需要围绕共同目标调整人员和团队协作流程。尽管看似无形,但至关重要。如果团队成员不支持该DevOps文化,组织可能无法实施战略计划。因此,DevOps文化转型,是构建高度可观察的应用程序的基础。创建DevOps环境的最简单方法是将运维团队和开发团队结合起来,这样他们就必须进行更多的沟通和协作。要真正实现由可观察性驱动的DevOps文化,你需要:

营造协作环境

对端到端负责

持续改进

关注客户的需求

接受故障并从中学习

自动化

从软件开发开始到结束,软件团队应该始终编写可调试的代码。该代码还应包含适当的KPI、指标和日志记录。这提高了应用程序的整体可观察性,并为运维团队提供了更多数据指标来检测故障并预测未来可能发生的故障。实现可观察性不仅仅是软件工程师和开发人员的工作,这应该是跨职能团队的共同责任。

可观察性驱动的DevOps文化改变了组织对其开发过程的看法,并将运维思维方式注入到他们的日常实践中。最终,这会提高云应用程序的性能和可用性,同时提高团队的生产力和满意度——反过来也简化了工作流程和协作。

4. 部署前的可观察性

很多组织,都关注在生产系统中实现可观察性,但较少强调从开发阶段就使应用程序具备可观察的能力。部署前的可观察性在许多日常活动中发挥着重要作用,包括决定构建什么或如何发布新功能、优化关键代码以及应用程序的架构调整。部署前的可观察性使DevOps团队能够主动提前修复,在其代码投入生产环境时可能出现的问题。

远程调试

远程调试工具提供了另一种安全感,这些工具允许开发人员调试–在本地环境之外运行的应用程序,而不会干扰应用程序的正常运行、还可以筛选大量日志文件或在本地复制生产环境。通过远程调试,开发人员可以使用不间断断点轻松调试任何环境中的错误,包括云原生开发环境等。如果操作恰当,远程调试可以为开发团队节省大量金钱和时间,对于依赖云平台、服务和基础设施的组织尤其有用。

总结

虽然这四种最佳实践都是有益的,但部署前的可观察性是提高可观察性的最经济的方法。它允许软件开发人员及时检测和修复代码中的问题,同时修复成本最低,不会影响用户。生产环境的可观察性也很重要,在生产环境中任何事情都可能发生,许多不可预测的因素可能会破坏你的应用程序或使其不可用,但它成本高昂。

应用程序日志记录也很重要,但日志管理成本也高且难以分析——尤其是在分布式系统中尝试追踪问题的根本原因时。最后,任何想要实现完全可观察性的企业都应该接受DevOps文化,但这个过程需要时间和整个组织的支持。

译文链接: https://thenewstack.io/improve-your-ci-cd-observability-with-these-4-best-practices/

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4903

    浏览量

    87359
  • devops
    +关注

    关注

    0

    文章

    113

    浏览量

    12013

原文标题:提高CI/CD可观察性的4 个最佳实践

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强

    实现持续合规现代软件开发实践要求开发团队具备适应,在确保代码质量和可靠的同时,优先考虑灵活性和协作。在软件开发流程中实施持续集成(CI
    的头像 发表于 10-08 16:22 269次阅读
    Perforce静态分析工具2024.2新增功能:Helix QAC全新<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>集成支持、Klocwork分析引擎改进和安全增强

    电气设备的四种工作状态

    在供配电系统中,电器设备的状态管理是确保电力系统稳定运行和用电安全的关键。根据电气设备的工作条件和安全要求,通常将电气设备备的状态分为四种不同的状态:运行状态、热备用状态、冷备用状态和检修状态。下面
    的头像 发表于 10-04 11:15 1844次阅读

    双轴测径仪的四种样式!

    仪设计了四种外观样式。 45°角布置的开口测径仪 这个样式的双轴测径仪是目前大部分产线所使用的,样式简单大气。用于外径及椭圆度尺寸的检测。 45°角布置的闭口测径仪 该样式的双轴测径仪将上面的开口闭合
    发表于 08-27 17:42

    滤波电路的四种类型是什么

    滤波电路是电子电路中非常重要的一部分,它主要用于对信号进行频率选择,即允许特定频率范围内的信号通过,而阻止其他频率的信号。滤波电路根据其特性可以分为四种基本类型:低通滤波器(Low-Pass
    的头像 发表于 08-08 16:25 2208次阅读

    负反馈的四种类型是什么

    负反馈是电子系统中常用的一技术,它通过将系统输出的一部分信号以某种方式反馈到输入端,以减小输出信号与期望信号之间的差异,从而提高
    的头像 发表于 08-08 16:15 3431次阅读

    负反馈的四种类型及判断方法

    负反馈,又称为负反馈调节,是指在一个系统中,当系统输出的某些变化对输入产生抑制作用时,系统会自动调节以维持稳定状态的现象。负反馈在生物、工程、经济等多个领域都有广泛的应用。本文将介绍负反馈的
    的头像 发表于 08-02 11:01 2095次阅读

    简述四种基本触发器及其功能

    在数字电路设计中,触发器是一基本且重要的存储元件,用于存储二进制信息(即0和1)。根据功能和应用场景的不同,触发器可以分为多种类型,其中四种基本触发器包括RS触发器、JK触发器、D触发器和T触发器。以下是对这四种基本触发器及其
    的头像 发表于 07-27 14:59 8665次阅读

    元器件的包装方式及常见的四种方式

    四种元件包装方式在实际生产和使用中广泛应用,不同的包装方式适用于不同类型和规格的元件,并且可以根据具体要求进行定制化的包装设计。不同的包装方式也可以影响元件的存储、运输和使用,选择适合的包装方式对于保护元件质量和提高生产效率具有重要意义。
    的头像 发表于 06-27 12:58 1511次阅读

    介绍MCUboot支持的四种升级模式(2)

    介绍MCUboot支持的四种升级模式,分别是Overwrite、Swap、Direct XIP和加载到RAM中执行。由于FSP不支持第四种——加载到RAM中执行,因为我们重点介绍前三
    的头像 发表于 06-13 10:56 869次阅读
    介绍MCUboot支持的<b class='flag-5'>四种</b>升级模式(2)

    电气设备的状态有哪四种

    电气设备的状态可以分为四种:正常状态、异常状态、故障状态和紧急状态。这四种状态涵盖了电气设备在运行过程中可能遇到的各种情况。本文将详细分析这四种状态的特点、原因、影响以及相应的处理措施。 一、正常
    的头像 发表于 06-05 16:47 4312次阅读

    四种电源防接反电路

    防反接电路用于防止电子元器件因正负极接反而烧毁。常见的防反接电路有四种:二极管串联、整流桥、NMOS和PMOS。二极管串联利用二极管的单向导电,整流桥则能正反接都导通但会消耗电能。NMOS和PMOS的防反接电路设计则通过控制电流路径来实现正负极的保护。
    发表于 05-22 16:19

    视频网站服务器的四种负载均衡技术

    视频网站通常会面临大量的用户访问和视频流量,为了提高性能和可用,需要使用负载均衡技术。以下是四种常用的视频网站服务器负载均衡技术: 1、基
    的头像 发表于 04-01 17:36 616次阅读

    如何理解IGBT的四种SOA?

    如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这四种SOA是:Continuous SOA、Limited SOA、Pulse SOA
    的头像 发表于 02-18 11:04 1049次阅读

    A/D转换的四种误差

    针对A/D转换中可能出现的误差,主要分为以下四种情况,漂移误差、线型比例误差、非线性误差、非单调性误差。还有那些能够引起AD转换出现比较大的误差类别? 先说AD转换是怎么取值的,假设输入信号0-3V
    发表于 01-30 14:19

    电子负载的四种功能实现原理

    电子负载的四种功能实现原理  电子负载是一用于模拟负载、测试和评估电源、电池和其他电子设备的工具。它可以模拟电子负载的特性,并能够提供不同的负载条件。电子负载主要通过四种功能来实现:恒流负载、恒阻
    的头像 发表于 01-18 14:13 2587次阅读