1.云运维概述
1.1 传统运维方式面临的挑战

- 运维人员技能要求高,配置烦杂,同时需要维护多套系统
- 无法关联分析,虽然指标很多,但需要根据运维经验逐一排查
- 对于分布式追踪系统,学习和使用成本高,并且稳定性较差。
1.2 云上架构对运维的要求

- 随着IT架构不断演进,系统架构变得越来越复杂,企业云上运维和传统IT运维的差异明显,运维人员也面临着诸多的挑战。
- 在企业内部开发和运维往往是两个独立的部门,在工作和技术方向上存在明显的差异这就造成了在共同完成,个应用项目的时候沟通不顺畅,进而导致应用进度推迟,企业效率大幅度下降。因此,整个体系架构需要不断演进,从传统运维走向自动化运维将运维工程师、开发工程师、质量保障工程师的壁垒打破,从而形成一套高效的工作体系。
1.3 华为云运维及业务运维全景

- 支撑用户聚焦业务层运维,减少用户在平台日常维护上消耗精力,由华为负责平台运维,为客户提供稳定可靠的云平台
- Console是面向云资源用户的,用于日常管理资源及发放资源的一个可视化入口。
- CES/AOM/APM为用户提供立体化监控平台,可以全面了解云上资源使用情况、业务的运行状况,并及时收到异常告警做出反应,保证业务顺畅运行。
- 用户可以通过使用Console(控制台)、CES/AOM/APM(云监控服务)等工具组合完成租户业务支撑活动。
1.4 企业云化应用多样性灵活性带来的挑战

- 随着微服务的普及,应用间关联关系越来越复杂,单纯通过维护人员进行管理已经越来越不现实。需要借助专业的软件工具,对应用间调用等场景进行全方面的监控,可视化地还原业务的执行轨迹和状态,协助性能及故障快速定位等。
- 应用上云后,微服务依赖关系能否可视化、最终用户体验如何、问题如何快速追踪散落的日志无法关联分析?如何解决或改善此类问题?华为云包含多种运维服务,帮助运维人员简化运维流程、提高运维效率。
1.5 云应用立体运维解决方案全景

- 华为云推出云应用立体运维解决方案,融合了华为云的应用运维管理服务AOM、应用性能管理服务APM等服务,对基础设施层、应用层、业务层实时多维度监控,并通过应用与资源告警关联、日志分析、智能闯值、分布式调用追踪、手机APP异常分析等技术,实现分钟级问题快速诊断和修复,保障应用长稳运行,
- 针对海量资源监控场景: AOM提供实时监控应用及云资源,采集各项指标、日志及事件等数据分析应用健康状态,提供告警及数据可视化功能
- 针对海量日志管理场景:LTS提供日志收集、实时查询、存储等功能,帮助用户轻松应对日志实时采集:5查询分析等日常运营、运维场景
- 针对性能问题定位场景:APM提供专业的分布式应用性能分析能力,帮助运维人员快速解决分布式架构下的问题定位和性能瓶颈等难题。
2.开源运维工具
2.1 Prometheus介绍

- Prometheus是一款开源的监控工具,它启发于Google的borgmon监控系统,由工作在SoundCloud的Google前员工在2012年创建,作为社区开源项目进行开发,并于2015年正式发布。2016年,Prometheus正式加入Cloud Native ComputingEoundation,成为受欢迎度仅次于Kubernetes的项目。
- 监控作为可观察性实践(监控、日志、追踪》中的关键一环,相较以往的系统监控在云原生时代产生了诸多变化。一是微服务和容器化,导致监控对象和指标的指数级增加;二是监控对象的生命周期更加短暂,导致监控数据量和复杂度的成倍增加。
- 这就需要一款统一监控指标和数据查询语言的工具,Prometheus应运而生了Pemetheus可以很方便的与众多开源项目集成,帮助我们了解系统和服务的运行状态另一方面分析其收集的大数据,可以帮助我们进行系统优化和作出决策。它不仅是可以应用在IT领域,对于任何需要收集指标数据的情形下都可以使用。
- PromQL是Prometheus针对这种带标签的时序数据开发的查询语句。它与针对关系数据库的查询语句SQL是完全不同的。
- Prometheus可以理解为一个时间序列数据库。当然,它不仅仅是一个时间序列数据库。它涵盖了可以绑定的整个生态系统工具集及其功能。
- Prometheus主要用于对基础设施的监控,包括服务器( CPU、MEM等)、数据库(MySQL、PostgreSQL等)、Web服务等,几乎所有东西都可以通过Prometheus进行监控。而它的数据,则是通过配置,建立与数据源的联系来获取的。
2.2 Prometheus架构图

- Prometheus专为可靠性而设计,可让用户快速诊断问题。每个Prometheus服务器都是独立的,不依赖于网络存储或其他远程服务。
- 基本实现原理是从exporter拉取数据,或者间接地通过网关qatewav拉取数据(如果在k8s内部署,可以使用服务发现的方式),它默认本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,9并把得到的结果存储到新的时间序列中,采集到的数据有两个去向,一个是报警,另一个是可视化。
- Prometheus组件使用逻辑:
- Prometheus server 定期从静态配置的target或者服务发现的target拉取数据
- 当新拉取的数据大于配置内存缓存区的时候,Prometheus会将数据持久化到磁盘(如果使用Remote storage将持久化到云端 )
- Prometheus可定时查询数据,当条件触发的时候,会将alert推送到配置的Alertmanager。
- Alertmanager收到警告的时,可以根据配置聚合、去重、降噪,最后发送警告。
- 可以使用API、Prometheus Console或者Grafana查询和聚合数据
- Prometheus有两种数据采集方式,pull主动拉取和push被动推送
- pull: 指的是客户端先安装各类已有的exporters并以守护进程的模式运行Explorter采集数据并且可以对http请求作出响应,返回metrics数据Prometheus通过pull的方式(HTTP GET)去访问每个节点上的exporter并返回hw35802903需要的数据。
- push:指的是客户端(或服务端)安装官方的pushgateway插件,将监控数据组织成metrics的形式发送给pushgateway,而后pushgateway再推送给prometheus,这里需要注意的是pushgateway只是一个中间转发的媒介
2.3 Grafana介绍

- 主要有以下六大特点:
- 展示方式:快速灵活的客户端图表,具备丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式。
- 数据源:支持多种数据源,如:Graphite/InfluxDB/OpenTSDB/Prometheus/Elasticsearch等。
- 通知提醒: 根据不同指标定义不同的告警规则,计算是否触发告警并发送通知
- 混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源。
- 注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记。
- 过滤器: Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
- TSDB是针对时间戳或时间序列数据进行优化的数据库,专门为处理带有时间戳的度量和事件或度量而构建的。时间序列数据可以是随时间跟踪、监视、下采样和聚合的度量或事件,如服务器指标、应用程序性能、网络数据及许多其他类型的分析数据.
- Grafana主要组件介绍:
- filebeat: 采集ftds数据
- metricbeat: 采集系统资源数据 <

本文介绍了云运维面临的挑战,如高技能要求和复杂性,以及华为云提供的云运维服务,如AOM、APM、CES等,它们提供立体化监控和自动化运维。同时,文章讨论了开源工具Prometheus和Grafana在监控和可视化方面的应用,并提出了云审计服务CTS和云日志服务LTS在日志管理和审计中的重要性。整体解决方案旨在提升运维效率,确保业务稳定运行。
最低0.47元/天 解锁文章
2022

被折叠的 条评论
为什么被折叠?



