容器监控与分析实践(二)| 学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习容器监控与分析实践。

开发者学堂课程【DevOps 日志分析实战 :容器监控与分析实践(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/736/detail/13101


容器监控与分析实践(二)

二、基础指标监控-Prometheus 的前世今生

(基础指标监控主要依赖于 Prometheus)

2012年成立,初始成员 Matt、Julius

主要受谷歌监控系统启发(Borg 监控系统,Borg 是谷歌内部的一套容器架构,最后发展到开源也就是 Kubernetes,所以说 Prometheus 搭配 K8s 是一个非常好的搭配方式)

1.主要目标:

监控动态的云上环境

对现有的监控数据模型、查询、效率等不满意

2.目前的地位:

CNCF 第二大 Project(第一大是 K8s,其与 Prometheus 是在一个大的组织下,无论金融还是各方面的支持都非常的优秀)

Kubernetes 标准化监控方案

开源首选监控方案之一

3.基础指标监控-Prometheus 架构

image.png

主要通过 pull 的方式从各个地方拉取数据(pull 的方式相对来说更加简洁),只需要对应的系统提供 http 的一个端口。内部是单机的架构,包括数据的接收(里面有服务发现,服务发现中的重要模块是 K8s 的服务发现,可以动态的监控需要的 pull 、Server等等)、存储(依赖于内部单机的 HDD 的存储)、查询。

后面会对接 Alertmanger ,Alertmanger 一般用来做告警,还有部分对接 Web uUI 等等。

4.Prometheus 的特点

是 pull 模型;有非常强的服务发现机制;是单机的架构;存储主要依赖于 SSD(如果用 HDD 是标准的机器硬盘的话其性能会较差);可视化提供的功能较少。

5.Prometheus 生产环境上的一些痛

·内存占用:近两小时数据保存内存,时间线膨胀

·异常恢复:binlog replay 时间过长,无限 OOM

·长期存储︰单机存储受限,无法长期对比指标

·单机问题︰抓取、计算单点执行,很难大规模扩展

·Pull 模型∶很难覆盖实时场景(定期 pull ,没办法实时推送指标)

. PromQL :不支持与外部维表关联(是内部查询的引擎,有时机器要关联机房、机器状态或者其他信息时,PromQL 不支持实时的关联)

6.SLS 时序存储-兼容 Prometheus 方案

image.png

SLS 提供了兼容 Prometheus 方案,其中对于时序数据的存储做扩展(从单机模式扩展到纯分布式的架构)

并且提供了默认的 PromQL 执行引擎,同时可以进行 SQL 的查询(对接各种 Web 数据延续做关联的分析),还提供了一些智能的算法,帮助做智能巡检等等场景

总体的特点:

上下游对接非常强,不仅仅包括 Prometheus ,其他数据源也可以使对接。

高性能,因为是纯分布式架构,其存储和计算完全分离,可以单独根据存储或计算去做扩容。

对开源非常友好,Prometheus 可以直接对接 Prometheus、HTTP、AQL、Grafana。

智能方面,提供了各种智能算法,可以加快运维效率。

基础指标监控-充分发挥 Prometheus 数据的价值

Prometheus 的数据如果默认在单机中是一个死的系统,不支持外部延续对接或者实时计算,所以扩展是去支持各种数据。

通过 Prometheus 写进,通过 OpenTelemetry (一个大的 project)也支持智能写入。

并且对接三个执行引擎,分别是 SQL 执行引擎、智能分析引擎、默认的 PromQL 执行引擎

还有一个数据队列的功能,支持用实时计算的方式去订阅数据,做实时的分析,这样可以降低对数据的延时,包括整个链路的延时。

image.png

7.基础指标监控-Prometheus 接入方式

只需要在 K8s 的 Prometheus Operator 中配置一些 Remote Write 的写入方式,然后配置 basicAuth 的鉴权并写入到 SLS 。

image.png

整体步骤如下:

创建 Namespace

配置保密字典

修改安装包参数

配置 Grafana 可视化

配置告警


三、基础事件监控-Kubernetes 事件中心

在 K8s 中有 API Server,会产生各种各样的事件,包括宿主机的事件,系统组件的事件,应用产生的事件,都能实时的采集到日志服务。

image.png

然后会提供一整套包括实时的告警、日志的查询、自定义的分析(包括可视化的报表)的方案,并且该方案开通的成本非常低,只需要在创建集群时勾选即可。

image.png

1.接入层监控-Kubernetes Ingress 监控

image.png

从 Ingress controller 得到 Ingress 的访问日志,然后提取各种指标,指标包括:

PV 同比/环比下跌

请求地域分布

TOP 省份、城市

TOP 延迟、失败 URL

成功率/5XX比例

平均延迟、P99/P9999延迟

后端请求失败率

蓝绿版本发布对比

该指标可以一键生成,安装方式也非常简单(开通在默认集群上勾选即可)

2.中间件 /ServiceMesh 监控 -Istio 访问日志监控

ServiceMesh 目前以 Istio 为代表,这里主要是兼容 Istio 。

Istio 的访问日志可以直接对接,如果使用 ServiceMesh 可以非常方便的将数据对接并做可视化。

3.业务监控-Kubernetes 标准日志监控

image.png

业务监控需要依赖自己做日志的产生,用 SLS 做日志的采集。

日志采集的配置也非常简单,只需要定义几个环境变量或者部署一个 crd 就可以完成包括容器的文件、标准输出甚至该文件存储在宿主机上都支持实时的采集。采集后可以实时日志查看,包括上下文的查看、分析,也能做关键词的监控,也能根据日志去提取指标做业务指标的监控(例如下单的成功了、交易的金额、加入购物车的行为等等)

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
10月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
410 2
|
2月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
云原生信息提取系统:容器化流程与CI/CD集成实践
|
6月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
279 16
|
7月前
|
人工智能 Prometheus 监控
容器化AI模型的监控与治理:确保模型持续稳定运行
在前几篇文章中,我们探讨了AI模型的容器化部署及构建容器化机器学习流水线。然而,将模型部署到生产环境只是第一步,更重要的是确保其持续稳定运行并保持性能。为此,必须关注容器化AI模型的监控与治理。 监控和治理至关重要,因为AI模型在生产环境中面临数据漂移、概念漂移、模型退化和安全风险等挑战。全面的监控涵盖模型性能、数据质量、解释性、安全性和版本管理等方面。使用Prometheus和Grafana可有效监控性能指标,而遵循模型治理最佳实践(如建立治理框架、定期评估、持续改进和加强安全)则能进一步提升模型的可信度和可靠性。总之,容器化AI模型的监控与治理是确保其长期稳定运行的关键。
|
7月前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
7月前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
9月前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
9月前
|
存储 人工智能 调度
容器服务:智算时代云原生操作系统及月之暗面Kimi、深势科技实践分享
容器技术已经发展成为云计算操作系统的关键组成部分,向下高效调度多样化异构算力,向上提供统一编程接口,支持多样化工作负载。阿里云容器服务在2024年巴黎奥运会中提供了稳定高效的云上支持,实现了子弹时间特效等创新应用。此外,容器技术还带来了弹性、普惠的计算能力升级,如每分钟创建1万Pod和秒级CPU资源热变配,以及针对大数据与AI应用的弹性临时盘和跨可用区云盘等高性能存储解决方案。智能运维方面,推出了即时弹性节点池、智能应用弹性策略和可信赖集群托管运维等功能,进一步简化了集群管理和优化了资源利用率。
|
9月前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
9月前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。