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

本文涉及的产品
容器镜像服务 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 就可以完成包括容器的文件、标准输出甚至该文件存储在宿主机上都支持实时的采集。采集后可以实时日志查看,包括上下文的查看、分析,也能做关键词的监控,也能根据日志去提取指标做业务指标的监控(例如下单的成功了、交易的金额、加入购物车的行为等等)

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
102 2
|
16天前
|
人工智能 运维 监控
阿里云ACK容器服务生产级可观测体系建设实践
本文整理自2024云栖大会冯诗淳(花名:行疾)的演讲,介绍了阿里云容器服务团队在生产级可观测体系建设方面的实践。冯诗淳详细阐述了容器化架构带来的挑战及解决方案,强调了可观测性对于构建稳健运维体系的重要性。文中提到,阿里云作为亚洲唯一蝉联全球领导者的容器管理平台,其可观测能力在多项关键评测中表现优异,支持AI、容器网络、存储等多个场景的高级容器可观测能力。此外,还介绍了阿里云容器服务在多云管理、成本优化等方面的最新进展,以及即将推出的ACK AI助手2.0,旨在通过智能引擎和专家诊断经验,简化异常数据查找,缩短故障响应时间。
阿里云ACK容器服务生产级可观测体系建设实践
|
16天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
16天前
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
阿里云容器服务ACK提供强大的产品能力,支持弹性、调度、可观测、成本治理和安全合规。针对拥有IDC或三方资源的企业,ACK One分布式云容器平台能够有效解决资源管理、多云多集群管理及边缘计算等挑战,实现云上云下统一管理,提升业务效率与稳定性。
|
29天前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
56 2
|
1月前
|
Prometheus 监控 持续交付
深入理解Docker容器化技术:从基础到实践
深入理解Docker容器化技术:从基础到实践
|
1月前
|
安全 Docker 微服务
深入理解Docker容器技术:从基础到实践
深入理解Docker容器技术:从基础到实践
|
1月前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
1月前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
1月前
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
34 3