如何在部署中实施实时监控

不可否认,在当今的技术环境中,应用系统已变得越来越繁杂。为了及时获悉各种软件应用的健康和服务状态,我们需要通过关注基本的应用指标,来确保应用的所有组件在部署的整个过程中,按照预期运行。

不过,对于项目团队而言,在部署过程中实施实时的监控,似乎已成为了极难实现的运营“必备品”。对此,Datadog正好一显身手。它是一个业界领先的监控和分析平台,可以提供从前端应用到底层硬件等基础架构的每个部分的可见性。与之配套的是大家较为熟悉的Ansible。这是一款在部署和配置管理方面尤为强大的自动化工具。

在本文中,我将和您讨论Datadog实时监控会被如何集成到基于Ansible的部署中,以及在整体部署过程中,如何通过实时监控以大幅降低事故的发生。当然,其相关概念与方法,也可以被应用到类似的监控和部署工具集中。

为何要在部署中集成实时监控?

在不断迭代与发展的DevOps领域,开发与运营之间的界限正变得越来越模糊,两者直接的协作正变得越来越紧密。正是这种整合,促进了团队成员越来越需要在应用系统的整个生命周期内进行持续监控,而不仅仅是在部署之后才监控。

那么,如果将Datadog与您的现有部署流程、及部署脚本相集成,到底能够带来哪些优势呢?我为您总结了如下三项基本要素:

  1. 即时反馈:在部署过程中实施实时监控的主要好处之一是,它能够创建即时的反馈回路。特别是在滚动部署的过程中,当一台或多台主机部署出现问题时,实时监控数据可以立即被用于做出暂停或启动部署回滚的决策。这种快速回撤往往就决定了是会发生较小的故障,还是大型灾难。尤其是对于某些海量用户级别的应用而言,即使1分钟的停机时间,也可能导致大量的错误和损失。
  2. 资源和性能监控:在部署新功能或变更现有服务时,我们往往会在无形中引入涉及到性能、资源利用率、以及相关成本的风险。而通过实时监控,团队可以立即获悉变更给系统性能和资源利用率造成的影响,进而采取任何必要的即时补救措施,以确保用户继续获得最佳的使用体验。
  3. 主动解决问题:通过将Datadog直接集成到部署流程中,而不是在最终用户受到影响后才对问题做出反应,项目团队可以更主动的方式解决问题,并防止潜在的问题演变成重大故障。这种积极主动的方法,不但可以增加系统的整体正常运行时间,并提高部署发布的稳定性,而且能够保障用户持续的满意度。

在部署中实施实时监控的过程

一旦部署工具被触发,底层的脚本就会开始执行。对此,我们需要根据应用的各项实际需求,预先确定执行监控检查的理想位置,并发送一个或多个Datadog API请求,去查询相关指标、监控过程数据、或其他有助于我们确定部署和整个应用健康状况的信息。

据此,我们需要在脚本中添加逻辑,以便解析来自Datadog的API响应,并做出是否转入下一组部署的适当决策。例如,如果我们发现错误过多、且监控频繁报障的话,那么我们就应该相应地对这些收集到的信息予以解析,以决定是否中止部署,不再继续下去,从而减少潜在的生产事故的影响半径。下图展示了这个典型的工作流程。当然,具体各个阶段可以根据您的应用的实际需求进行调整。

具有集成监控的部署流

具有集成监控的部署流

利用Datadog及其API接口进行实时查询

除了基础监控功能,Datadog还提供了另一个增强DevOps团队能力的关键优势:其强大的API接口。它不仅是一项功能,更是一种变革性的工具。借助以编程方式查询指标、以及各项跟踪和日志等能力,项目团队可以动态地将Datadog更深入地集成到其运营之中。据此,他们可以进行定制化的监控配置、自动警报设置、以及即时提取相关数据。而且,这种实时查询不仅仅是为了获取数据,更是为了给部署决策提供相关信息,完善应用性能,进而创建一个更具协同性的技术生态环境。通过利用Datadog的API,监控不再是一种被动的观察,而是优化部署工作流程的主动驱动力。

同时,作为一种监控工具,Datadog可以密切关注目标系统的各项技术设置,检查其性能和错误状况。由于能够提供及时的反馈,因此系统一旦出现问题,Datadog就会立即向运营团队发出警报,以协助他们更快地解决问题,保持一切顺利运行。在如下的实施方案中,我们通过获取查询监控器的数据,以判定是否有任何被触发的警报。此外,我们还会查询各项指标和其他类似的数据,以协助确定应用的健康状况。

下图展示便是一个从Datadog的API参考表中,获取特定监视器详细信息的示例。

对Datadog API端点的Curl请求示例

对Datadog API端点的Curl请求示例

以Ansible自动化部署为例

当我们使用Datadog等工具深入研究复杂的监控时,了解支撑目标应用的部署机制是至关重要的。在此,我们将以Ansible为例。如前所述,它是一款以简单性和强大功能为显著优势的开源自动化工具。

通常,Ansible会使用声明式语言(Declarative Language)来定义系统配置,使其既易于人类阅读,又能够直接与各种平台和工具相集成。在部署方面,Ansible可以确保一致性和可重复的应用部署,从而降低与手动流程相关的各类风险。如果与Datadog等实时监控解决方案配合使用,Ansible不仅可以自动化部署应用,而且能够确保它们在部署之后以最佳的状态运行。可以说,这种自动化部署与实时监控之间的协同,构建出了一个强大的、反应灵敏的、容错性高的部署生态系统。

下图的代码片段展示了在Ansible中,Datadog监控器如何实现以“deployment_priority: blocker”为标签,进行查询的示例。

在Ansible中实现的监控查询

在Ansible中实现的监控查询

在此基础上,我们需要解析从Datadog返回的所有此类监控的状态,以决定是终止监控,还是继续到下一台主机或下一组部署。

迭代监视器的解析和决策的制定

迭代监视器的解析和决策的制定

至此,我们已完成了在部署过程中实施实时监控,并具备了对Datadog的监控信息予以解析,进而在部署过程中及时做出明智的决策的能力。

小结

在上文的探讨中,我们既利用了强大的部署工具Ansible所提供的一致、可靠的部署的能力;又结合了Datadog等平台的细粒度实时监控能力,提高了项目部署的运营效率和可靠性。随着技术领域的不断发展,Ansible和Datadog等工具充分证明了集成式智能DevOps的实践潜力。

无论您是经验丰富的DevOps专业人士,还是刚刚涉足本领域的“小白”,了解并利用这种协同,都将有利于打造一个面向未来、具有高自愈能力的技术生态系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/206303.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时态图根据时间轴动态播放热力图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>时态图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><!-- 引入样式 --&g…

java的继承特性和方法重写

java的继承特性和方法重写 Java的继承特性是一种面向对象编程的重要概念&#xff0c;它允许我们基于已有的类创建新的类&#xff0c;并且保留了已有的类的一些特性。这是通过使用"继承"这个关键词来实现的&#xff0c;新创建的类称为子类&#xff08;subclass&#…

【OpenCV实现图像:使用OpenCV进行物体轮廓排序】

文章目录 概要读取图像获取轮廓轮廓排序小结 概要 在图像处理中&#xff0c;经常需要进行与物体轮廓相关的操作&#xff0c;比如计算目标轮廓的周长、面积等。为了获取目标轮廓的信息&#xff0c;通常使用OpenCV的findContours函数。然而&#xff0c;一旦获得轮廓信息后&#…

echarts实现如下图功能代码

这里写自定义目录标题 const option {tooltip: {trigger: axis},legend: {left: "-1px",top:15px,type: "scroll",icon:rect,data: [{name:1, textStyle:{color: theme?"#E5EAF3":#303133,fontSize:14}}, {name: 2, textStyle:{color: theme…

监控摄像头连接NAS,实现监控管理一体化

嗯&#xff1f;你问干嘛要把摄像头连到NAS&#xff1f; 小马给家里安了个监控摄像头 本意是想家里有啥事也能查监控 却没想到这些监控不仅存储回放有限制 要想更多功能还是得多花钱 恰好&#xff0c;我有铁威马NAS 打开Surveillance Manager 轻松搭建网络摄像头管理系统 …

安防监控视频融合平台EasyCVR定制化页面开发

安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索…

用HALCON标定助手对相机进行标定

任务要求&#xff1a; 已知相机镜头焦距f为8mm&#xff0c;相机单个CCD像素在水平和竖直两个方向上的尺寸均为3.75微米&#xff0c;相机为普通透光镜头和面阵相机&#xff0c;对相机进行标定&#xff0c;测量相机的内外参数。 操作步骤&#xff1a; 1. 在HALCON中运行gen_ca…

专业pdf编辑工具PDF Expert mac中文版特点介绍

PDF Expert mac是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 PDF Expert mac软件特点 PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动、旋转、缩放、裁剪等操作…

焦炉加热系统简述

烟道吸力 焦炉负压烘炉分烟道的吸力会影响立火道温度&#xff0c;具体影响因素如下&#xff1a; 烟道吸力过大会导致热量被抽走&#xff0c;使立火道温度降低。烟道吸力不足会导致烟气在烘炉内停留时间过长&#xff0c;使热量无法充分利用&#xff0c;也会导致立火道温度降低…

【Windows 常用工具系列 13 -- Confluence 如何快速输入代码块 code block】

文章目录 Confluence 如何快速输入代码块方法二 Confluence 如何快速输入代码块 在使用使用 confluence 进行文档编辑时&#xff0c;有时需要贴上部分代码&#xff0c;但是直接贴代码在 confluence上&#xff0c;显示效果不是太好看&#xff0c;所以confluence 给我们提供了符…

sklearn模型中预测值的R2_score为负数

目录 正文评论区参考链接 正文 Sklearn.metrics下面的r2_score函数用于计算R&#xff08;确定系数&#xff1a;coefficient of determination&#xff09;。它用来度量未来的样本是否可能通过模型被很好地预测。 分值为 1 表示最好&#xff0c;但我们在使用过程中&#xff0c…

剧情继续:马斯克曝出OpenAI前员工举报信,董事会与奥特曼谈判回归

丰色 发自 凹非寺 量子位 | 公众号QbitAI 经过4天的极限拉扯、反转再反转&#xff0c;奥特曼有可能重新回归了。 据知情人士透露&#xff0c;OpenAI董事会正与奥特曼进行一场“富有成效”的新谈判。 如果奥特曼回到OpenAI&#xff0c;他将继续担任CEO。 与此同时&#xff0c…