33

华为云立体运维解决方案——云上一站运维平台

 4 years ago
source link: https://www.tuicool.com/articles/QfAnumN
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

YfANZjZ.jpg!web

作者 | 孙雪梅

随着越来越多企业上云,云上的规模与复杂度日趋增长,对云上的运维,也提出了新的挑战。

华为云在实践中演进并构建了一套完整的面向云上应用的立体化运维系统,融合了华为云的应用运维服务(AOM)、应用性能管理服务(APM),对虚机、存储、网络、数据库及应用等多维度实时监控,并通过应用与资源告警关联、日志分析、智能阈值、分布式调用追踪、手机 APP 异常分析等技术,实现分钟级问题快速诊断和修复,保障云上应用长稳运行。下面以一个典型的云上应用架构为例,分享华为云立体运维解决方案。

常见的云上应用的架构

云上应用早期较多的是购买云服务 I 层资源(多为基础设施如主机等计算资源)自建各种集群,运维人员多以主机监控为中心进行运维,同时自己搭建应用及数据库等监控系统进行应用层和业务层运维。随着容器技术的普及,越来越多的企业通过微服务框架开发,业务的实现也更多的使用云上服务,如分布式中间件,函数服务,AI 服务等,同时运维也转向云上的运维服务。以下是一个典型的现代云上应用架构:

fiQ7B3R.png!web

经过域名解析阶段后,静态资源命中 CDN 后直接返回,无命中时会回源去拉取,动态请求直接访问 WEB 服务,在请求到达四层和七层 ELB 之前,多数企业应用也会选择 WAF 来清洗异常流量。

经过 ELB 后,请求到达业务应用服务器,业务实例多为分布式构架,微服务之间相互调用,一般情况下企业运维人员较多的关注点是应用实例这一层,多为企业自行开发的服务。

持久化层当前各 CSP 提供的中间件不一样,华为云上用户使用较多的如分布式缓存,分布式数据库等。由于提供动态扩容及较高级别的 SLA,越来越多的企业不再需要专业的 DBA,转而使用云上的服务,开发上也更加敏捷。

如此多的云服务和各种资源,任何一个环节出现问题,都将导致应用 KPI 异常,用户体验下降,进而导致企业运营受到影响,而每个使用云服务的企业,如果投入大量人力去自建运维系统并且将整个请求的各个环节关联起来,成本会非常高。因此华为云通过实践构建了一套立体运维体系,帮助企业更好的进行一站式运维。下面将为您介绍立体运维定位、架构及特点。

立体运维的定位和架构

立体运维主要是围绕应用进行监控,一站式完成基础设施层、应用层及用户体验层的监控。参考以上典型云应用架构,将业务请求路径上经过的不同资源进行分层,分层如下:

7N7RryY.jpg!web

围绕分层设计不同的专业运维服务子系统,将不同数据在不同子系统上串联协同、关联分析,构筑一个云上的运维平台,从而最大化的实现数据价值,为运维人员提供一个统一的运维中心,达到一站式立体化运维的目的。综合立体运维定位及典型云应用分层,立体运维融合了华为云的应用运维服务(AOM)、应用性能管理服务(APM),对虚机、存储、网络、数据库及应用等多维度实时监控,并通过应用与资源告警关联、日志分析、智能阈值、分布式调用追踪、手机 APP 异常分析等技术,实现分钟级问题快速诊断和修复,保障云上应用长稳运行。

j6Z7raA.png!web

AOM 侧重于对云主机、存储、网络、WEB 容器、Docker、Kubernetes 等应用运行环境及应用状态、应用与资源的关联关系等内容的深入监控并进行集中统一的可视化管理,其架构如下:

EbeUBzU.jpg!web

APM 侧重于分布式应用性能分析,拥有强大的分析工具,通过拓扑图、调用链、事务分析可视化地展现应用状态、调用过程、用户对应用的各种操作,快速定位问题和改善性能瓶颈,其架构如下:

vAbeaaB.jpg!web

立体运维的特点

立体运维一站式完成基础设施层、应用层及用户体验层的监控。它具备以下特点:

1、AOM——统一运维监控管理:资源、应用、业务一站式监控与分析

通过集群与虚机、虚机与应用、应用与资源统一建模,将集群、虚机、网络、磁盘、数据库、应用、容器及业务等上百种指标监控起来,并提供各种指标智能关联分析,运维人员通过统一的告警入口即可下钻找到问题根因。

ENnAryF.jpg!web

2、AOM——日志管理:高性能搜索和业务分析,深挖日志价值

将虚机上的应用、开源组件、系统等日志集中采集起来,通过清洗、实时分析、智能聚类等处理,实现了日志的高性能搜索和业务分析。同时,支持自定义采集路径、实时刷新、上下文查看、秒级搜索、日志下载、转储等常用功能,满足日常所需。

A7vaeuE.jpg!web

3、AOM——应用 & 资源关联分析:层层自动关联,直击异常

应用、服务、实例、资源相关联,可以直接查看到异常影响范围。针对应用异常,可以直接查看其指标,通过指标找到原因。针对资源异常,可以查看其资源对象拓扑图及告警情况等信息来定位原因。

bEvAZry.jpg!web

4、APM——应用拓扑分析:应用关系与异常一目了然、故障下钻

应用拓扑是对应用间调用关系和依赖关系的可视化展示,包括应用状态、时延、错误、负载、依赖关系等指标,支持数据库、缓存、消息中间件、NOSQL 等各类开源组件的情况。同时可以按照时间、服务、事务、top 等维度进行筛选查看。在应用拓扑中,针对异常也可直接下钻查看调用关系,定位异常根因。

nqaUfqe.jpg!web

5、APM——调用链追踪:性能瓶颈与异常原因分钟识别

调用链跟踪、记录业务的调用过程,还原业务请求在分布式系统中的执行轨迹和状态,可以分钟识别异常原因。在业务方法被调用时,可自动捕获该方法的调用者、详细的堆栈以及各类参数,帮助开发人员快速锁定问题现场。

E7ZBF3Y.jpg!web

6、APM——业务会话监控:监控每笔交易的 KPI 数据,提升用户体验

从运营视角,了解每个业务的运行状况,包括交易次数、时延、错误率,并通过调用链找到异常代码,同时可以帮助运营人员了解活动期间的交易体验情况。

bA7V3eZ.jpg!web

7、APM——SQL 分析:快速分析慢 SQL 和异常 SQL

数据库 SQL 语句异常,可能会引发业务超时等问题。在日常运维中,可通过错误耗时、响应时间等关键指标对数据库进行监控,定位出那些执行耗时长、效率低、调用出错的 SQL 语句,并对其进行分析和优化。

6jiQzqM.jpg!web

8、AOM、APM——故障智能诊断:基于机器学习算法自动检测应用故障

通过运维数据,包括百种指标监控、KPI 数据、调用跟踪数据自动完成故障根因分析。具体原理可分为单维度异常识别、复合事件异常识别、业务根因分析。

  • 单维度异常识别:根据历史指标数据动态生成指标基线,无需人工配置告警阈值。

  • 复合事件异常识别:多维护异常指标因果关联分析,识别出根源告警。

  • 业务根因分析:提取业务正常与异常时上下文数据特征,如资源、参数、调用结构,通过聚类分析找到问题根因。

nEnqEfb.jpg!web

字节跳动私有云平台 TCE 托管头条、抖音、字节国际化业务等内部上万个在线微服务,机器负载愈高,运维难度越大。为提升资源利用率,通过动态超售,实现了业务实例的高密度部署,并通过优化 Kubernetes 资源模型,有效保证了延时敏感服务的 QoS。具体在容器化场景下的一些运维痛点解决方法,可到 7 月 12 日深圳 ArchSummit 架构师峰会上一探究竟。扫码或点击阅读原文看详情。

全价期,报名联系票务灰灰 17326843116

uQN7N37.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK