从DevOps视角来谈对运维监控平台的需求

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
日志服务 SLS,月写入数据量 50GB 1个月
简介: 对于基于开源工具链来构建DevOps能力支撑平台,我在前面多篇文章都有谈到,从整体研发过程全生命周期来看分为了开发态,运行态和运维态。在开发态重点是提供一个快速开发或低代码开发平台,同时集成相应的微服务开发框架,封装后端技术组件,前端组件等。而在运维态重点是需要实现持续交付后的应用的在线实时监控和运维。因此整个DevOps平台需要集成一个外部的运维监控平台,当然在项目实施中,我们本身也集成了Zibbix来实现资源监控,集成Prometheus来实现Kubernetes集群和容器监控,集成ELK来实现日志采集和监控分析,包括集成一些开源的服务

从DevOps视角来谈对运维监控平台的需求

对于基于开源工具链来构建DevOps能力支撑平台,我在前面多篇文章都有谈到,从整体研发过程全生命周期来看分为了开发态,运行态和运维态。

在开发态重点是提供一个快速开发或低代码开发平台,同时集成相应的微服务开发框架,封装后端技术组件,前端组件等。而在运维态重点是需要实现持续交付后的应用的在线实时监控和运维。

因此整个DevOps平台需要集成一个外部的运维监控平台,当然在项目实施中,我们本身也集成了Zibbix来实现资源监控,集成Prometheus来实现Kubernetes集群和容器监控,集成ELK来实现日志采集和监控分析,包括集成一些开源的服务链监控工具来实现基础的APM能力等。

那么实际的问题也比较明显,即:

我们往往需要跨多个开源工具或平台,来实现不同层面的监控,预警和运维,同时不同开源工具底层的基础CMDB元数据信息仍然是不能相互共享。

从这个意义上来讲,构建一个一体化的云原生监控运维平台本身是有意义的,即使这个平台本身也是基于底层开源工具进行集成。也正是基于这个原因,最近我们开始和一些监控运维平台解决方案厂家进行技术交流和沟通。

因此这篇文章作为一些关键交流内容的一些总结和记录。

对于监控平台,大部分人的第一印象仍然是类似Zibbix实现的资源层各种硬件基础设施,虚拟机,中间件的各个性能指标的监控能力。

在云原生和DevOps下,整体的需求变化主要体现在如下。

其一是形成覆盖应用-服务-资源三层的全链路监控能力。监控的不仅仅是资源,而是包括了应用和服务。拓扑也不仅仅局限在资源拓扑,而是需要基于应用的逻辑拓扑。

比如当前有一个CRM应用,在逻辑拓扑我们希望快速地看到这个CRM应用对应的负载均衡,中间件集群,数据库,缓存技术服务等各个资源。缓存技术服务可能是整个PaaS平台公有的云平台服务能力,但是无所谓,关键是要看到基于CRM应用视角的完整拓扑。

同时构建应用《---》资源间的双向追溯链条。即应用监控到问题,可以快速的定位到具体的资源或技术服务,而资源出现问题也可以快速的分析影响到哪些业务系统。这个在传统的资源监控和CMDB配置库定义中是不包含了,而现在需要包含。

其二是实现云原生下的和DevOps平台,容器云的集成和协同能力。即监控的最小单元已经从虚拟机变成了Kubernetes集群和容器。

传统的监控物理机和虚拟机往往是固定的,因此很容易在资源上面安装各种Agent插件来实现性能数据采集。而云原生下容器本身是动态变化的,而是存在容器逃逸现象。因此更加需要监控插件等能力在通过Kubernetes动态创建和部署容器的时候自动下发。类似Prometheus的Exporter插件,我们可以在容器实例自动化创建和部署的时候动态下发。

整个监控能力对于应用开发者来说完全是黑盒不可见,这些能力类似Mesh网格方式,都是在后续CI/CD过程中动态增加进去的。

其三是一体化监控平台。简单来说底层可以集成多种监控,日志采集,服务链等工具,但是前台是要提供一体化的监控运维能力。这个一体化又包含了几个关键的内容:

首先是共享一套CMDB配置元数据,这个配置信息不仅仅是资源层元数据,还包括了服务层和应用层元数据,同时能够构建应用-服务-资源间的关联映射关系。实现前面谈到的能够从单独的应用视角快速地看到逻辑拓扑架构。

其次是上层的管理平台各个能力之间要打通。比如你服务链路追踪的时候用的SkyWalking的能力,但是能够快速的赚取到具体的中间件服务或资源上面。再比如APM里面常谈到的,当应用某个功能出现性能问题的时候,你能够快速的追溯到具体的出问题的资源,或者具体的错误日志上面。

下面进一步基于业务场景来分析下详细的关键需求点。

1.实时监控告警

这个重点是在告警规则的定义,主要告警规则可以是多个KPI指标的组合规则,同时KPI指标本身还要支持灵活的单位时间间隔定义。比如在CPU利用率持续5分钟高于90%等。一个简单的组合规则如下:

在CPU利用率持续5分钟>90% And JVM内存利用率持续5分钟>80%

告警本身支持邮件,短信,微信等各种实时通知方式。同时告警本身有等级,对于严重告警需要和ITSM的事件管理做集成,即触发一条事件或问题工单。

2.快速故障定位

传统的IT网管或监控平台实际上资源运维和应用运维两个角色是完全分离的。运维人员只需要关心硬件资源是否有故障,而并不关心性能是否有问题。资源本身是有问题的,具体问题定位也是应用开发人员来处理。

简单来说应用运维和资源运维是分离的。

在前面很多DevOps文章我都谈到一个关键点,以后高学历的资源运维人员逐步会被自动化技术全部替代。而真正需要的是应用运维人员。

即通过应用发现的故障或性能问题能够快速的追溯并定位到具体的资源,并根据错误日志信息等快速的进行资源恢复。或者说通过资源故障能够快速的进行影响分析,确定相关的影响面和恢复方法。

也正是这个原因,监控运维平台必须集成日志监控能力,或者集成ELK等开源日志监控工具等。在DevOps和容器化下日志是一个关键内容,两个原因。

其一是容器本身生命周期是动态的,日志不能存储在容器内,而是应该单独集中化存储,因此在容器存活状态下需要快速采集日志并进行存储。其二是任何故障或问题的定义,都涉及到需要基于关键字快速地查询和分析日志,这个也不适合不断地来回切换管理工具来进行。

集成日志能力并不复杂,但是当前一些监控运维平台往往并没有将该点作为一个关键需求进行处理,略感意外。

3.和纳管资源的松耦合

注意当整个容器云平台和监控运维平台进行集成的时候,必须是一种松耦合的关系。包括性能指标采集和监控,在前面也谈到侵入式和非侵入式两种模式。

在APM层面,往往存在一定的侵入式方式,比如安装Agent代理,或者在JVM启动的时候需要启动监控代理服务等。而对于资源层的监控,最好是做到完全无侵入方式。

如果是一种侵入方式。

那么这个过程对于应用程序开发者来说也应该完全透明不可见,即在DevOps进行自动化部署的时候进行代理的下发和采集程序的植入。类似前面谈到的用Prometheus进行容器集群监控,那么Exporter插件本身也应该在DevOps的CI/CD过程中自动化完成。

4.是否一定要覆盖APM和服务链路监控能力

简单来讲,一体化监控运维平台如果能够覆盖APM和服务链路监控能力是最佳的,即真正实现了完整的从应用层到服务,到资源的全链路追溯能力。但是当前做运维监控的厂商很少将APM做得很完善,同样APM的厂商一般也需要去集成另外的IT资源监控工具。

如果集成APM,那么也完全可以做到在DevOps过程中自动化下发或启动代理插件。但是这种方式本身对应用的侵入,容易导致后续应用开发和运维边界不清或扯皮的情况发生。

我们举个简单场景说明下。

比如当用户反馈CRM系统的客户订单提交功能很慢,基于APM思路实际可以快速的追溯到这个提交功能经过了哪些微服务,或调用了哪些API服务接口。即快速的定义到具体是哪里慢,比如发现是数据库Sql操作很慢。

这个时候就需要快速地进入到对应的数据库资源,先分析判断当前数据库资源本身负荷是否正常,比如CPU利用率,内存负荷等。同时还需要提供日志采集功能,能够看到具体的Sql语句写作进行问题分析。

也就是或应用,服务,资源三者之间存在勾稽关系并相互影响。

通过分析你可能会发现实际是数据库在运行一个大数据量处理的Job程序,导致了资源利用率上升而影响到CRM业务操作。当然也可能是SQL本身查询就慢,需要进行Sql语句的优化等。如果从服务链路分析角度,你还可能发现并不是订单提交功能本身慢,而是该功能调用了外部的一个预算检查API接口,这调用这个API接口导致了大量的时间消耗。

不管是以上哪种分析,都需要应用,服务和资源三者之间的联动,同时从简单的API性能指标监控到最终的日志采集和分析,才能够完成整个分析和故障定位过程。

如果到AIOps层面,那么至少还需要实现监控运维平台能够自动帮助你分析和定位问题,比如给出最可能的三个原因,按优先级排序。你只需要进行验证和确认即可。

相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
目录
相关文章
|
28天前
|
运维 Devops 持续交付
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第34天】在数字化时代的浪潮中,DevOps成为企业追求敏捷、高效和稳定的关键。本文将通过一个真实案例,展示如何构建一个高效的DevOps流水线,实现从代码提交到部署的全自动化流程。我们将探讨流水线设计的哲学、工具选择以及面临的挑战,并分享实际的代码示例和操作步骤,帮助读者理解自动化运维的精髓。
41 2
|
1月前
|
运维 Devops 测试技术
自动化运维的魔法——打造高效的DevOps流程
【10月更文挑战第28天】在数字化浪潮不断推进的今天,企业对运维效率的追求如同古人探索魔法一般充满好奇与渴望。本文将带你走进自动化运维的世界,揭秘如何通过DevOps实践,实现从代码到部署的无缝连接,提升企业的IT运营效能。我们将一起探索自动化工具的选择与配置,以及如何构建一个既能快速响应业务需求,又能保障系统稳定性的高效流程。
|
1月前
|
运维 Prometheus 监控
自动化运维之路:从脚本到DevOps
【10月更文挑战第25天】在数字化时代的浪潮中,运维不再是简单的服务器管理,而是成为了企业竞争力的核心。本文将带你走进自动化运维的世界,探索如何通过技术手段提升效率和稳定性,以及实现快速响应市场的能力。我们将一起学习如何从基础的脚本编写进化到全面的DevOps实践,包括工具的选择、流程的优化以及文化的建设。无论你是运维新手还是资深专家,这篇文章都将为你提供有价值的见解和实用的技巧。
36 3
|
2月前
|
人工智能 运维 Devops
自动化运维之路:从脚本到DevOps的转变
【10月更文挑战第7天】在这篇文章中,我们将一起探索自动化运维的演变历程,从最初的简单脚本到现代的DevOps实践。我们将深入理解自动化如何改变了运维工作的本质,并讨论实现这一转变的关键技术和策略。文章将不包含代码示例,而是聚焦于理念、工具和方法论的介绍,旨在为读者提供一个全面的自动化运维框架视图。
|
2月前
|
运维 监控 Devops
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第6天】 在现代软件开发的快节奏中,自动化运维成为提高效率、保障质量的重要手段。本文将带你了解如何构建高效的DevOps流水线,从持续集成到部署,再到监控和反馈,我们将一步步揭开自动化运维的神秘面纱。你将学习到如何通过代码和工具的结合,实现软件交付过程的自动化,以及如何通过这一流程提升团队的协作和响应速度。让我们开始探索自动化运维的奇妙之旅吧!
|
2月前
|
运维 Devops jenkins
自动化运维之路:从脚本到DevOps
【9月更文挑战第31天】在数字化时代的浪潮中,运维不再是单纯的系统维护,而是企业竞争力的加速器。本文将带你领略自动化运维的演变历程,从最初的脚本编写到现代DevOps实践的转变,揭示如何通过持续集成和持续交付(CI/CD)实现运维的高效与创新。我们将一起探索工具的选择、流程的优化以及文化的培养,让运维工作变得既简单又强大。
|
3月前
|
运维 Devops 大数据
自动化运维之路:从脚本到DevOps的转变
【9月更文挑战第24天】在数字化时代的浪潮中,企业对运维的要求越来越高。本文将探讨如何通过自动化工具和DevOps文化,提升运维效率,确保系统的稳定性和安全性。我们将一起走进自动化运维的世界,了解其背后的理念和技术实现,以及它如何改变我们的工作方式。
51 2
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
221 3
|
3月前
|
运维 Devops jenkins
自动化运维之路:从脚本到DevOps
【9月更文挑战第11天】随着技术的快速发展,传统的手动运维方式已无法满足现代企业的需求。本文将引导你了解如何通过自动化工具和DevOps实践来提升运维效率,确保系统的高可用性和快速迭代。我们将从基础的脚本编写出发,逐步深入到DevOps的核心理念和实践,让你的运维工作变得更加高效和可靠。
|
3月前
|
运维 Devops jenkins
自动化运维:打造高效DevOps流水线
【8月更文挑战第44天】本文将通过深入浅出的方式,带你构建一个自动化的DevOps流水线,提升开发和部署效率。从基础概念到实际操作,我们一步步剖析如何实现代码提交、自动测试、构建、部署的全过程自动化。你将学会使用Jenkins、Git、Docker等工具,并结合Shell脚本编写,完成一个完整的自动化流程。文章末尾附有完整的示例代码,助你快速上手实践。

热门文章

最新文章