本文为您介绍容器集群可观测现状、多云容器集群可观测挑战、以及应对这些挑战可选的实现方案,并且以具体多云容器集群场景案例为您介绍如何使用阿里云可观测监控 Prometheus 版和阿里云注册集群的结合实现多云容器集群的纳管监控。
容器集群可观测现状
随着Kubernetes(K8s)容器编排工具已经成为事实上行业通用技术底座,容器集群监控经历多种方案实践后,Prometheus最终成为容器集群监控的事实标准。
Prometheus可有效监控系统层指标、应用层指标、业务层指标等,采集监控指标后进行存储,同时结合Grafana可实现监控指标的展示和告警等。Prometheus和Grafana结合的方案可有效进行容器集群监控指标采集、存储、展示、告警等,能够有效帮助业务发现和定位问题,为云原生下的应用保驾护航,已经成为业内容器集群监控标准组合方案。
目前企业运维容器集群,有以下两种方案可以选择:
方案一:自建监控体系
需要您结合Prometheus和Grafana自行搭建整套监控体系,且需达到生产可用水平。该方案前期不仅需要投入大量的人员成本,而且需要关注监控体系中各部分的协作,例如指标采集配置、指标存储、指标展示、有效大盘配置、告警配置、无效告警过滤等,后期也会产生极大的运维成本。
方案二:使用云厂商提供的监控产品
其中阿里云提供的可观测监控 Prometheus 版服务,有包年包月和按量付费两种计费方式,可减少自行搭建告警体系的前期投入成本,同时提供后续的技术运维支持,可以极大地降低运维成本。
多云容器集群可观测挑战
随着企业云上业务的多样化和复杂化,不可避免地出现了跨区跨云厂商容器集群混用的形态,进而从以往单一容器集群运维变成多云容器集群运维。
对于多云混合的容器集群监控,有以下两种方案可以选择:
方案一:采用自建Prometheus和Grafana结合的监控体系
使用该方案您将面临以下几点挑战:
自建完备的监控体系,需要打通采集、存储、展示、告警等各个部分,后期需要持续的运维人员投入,导致运维成本上升。
开源Prometheus对应的TSDB采用SSD存储模式,数据单点分散存储,存在数据丢失风险。
开源Prometheus采集能力存在一定的瓶颈,且为单点运行无法做到弹性伸缩,业务高峰时可能出现监控数据采集性能瓶颈。
方案二:采用云厂商提供的Prometheus产品
使用该方案您将面临以下几点挑战:
跨云厂商:不同云厂商提供的Prometheus产品能力和使用方式大不相同,需要您投入一定的学习成本。
分散管理:不同云厂商监控产品混用情况下,无法进行统一管理,容易造成管理低效和混乱,导致运维上的重复,且无法及时发现业务问题。
无论您使用上述哪种方案,都将会面临一个共同的问题,即监控指标分散,无法做到统一查询、联合分析展示、统一告警等。
可观测监控 Prometheus 版优势
为了解决上述问题,阿里云注册集群提供纳管能力,可将非阿里云容器集群进行统一管理,并有效解决了多云容器集群管理分散的问题。阿里云可观测监控 Prometheus 版服务,提供包括指标采集、Grafana 展示、告警等整套的容器监控体系,支持按量计费和包年包月两种计费方式,可有效提升容器集群监控效率,极大地减少自建监控体系所面临的运维成本。
阿里云注册集群和可观测监控 Prometheus 版服务的结合,将多云容器集群监控变得简单且高效,同时能够解决上述所述的诸多问题。具体优势如下:
能力较强:可有效解决多云容器集群监控面临的管理分散、监控体系搭建困难、运维效率低下、指标无法联合查询、告警无法统一等问题,将多云分散的容器集群监控进行统一管理、统一配置、统一查询、统一告警等,极大地提升多云容器集群监控的效率,节省运维人员的投入成本,减少其重复性劳动,使运维人员更加聚焦于业务。
费用低廉:阿里云可观测监控 Prometheus 版提供免费的基础指标采集,可覆盖容器集群的基础监控需求。对于小规模容器集群,则可采用按量计费方式,这样在保证您的业务得到有效监控的同时,能最大程度降低监控费用支出。阿里云可观测监控 Prometheus 版按量计费的具体计费说明,请参见按量计费;对于大规模集群,您可采用包年包月的计费方式,相比于按量计费,包年包月计费方式可有效减少约67%的成本,极大地降低了大规模集群监控成本。阿里云可观测监控 Prometheus 版包年包月的具体计费说明,请参见包年包月概述。
资源占用较少:阿里云可观测监控 Prometheus 版服务,仅在您的集群中轻量化部署Agent,且具备自动弹性扩容能力,2核4 GB资源申请量可采集600万指标。对于开源Prometheus的服务发现模块存在对集群内APIServer造成较大压力的问题,阿里云可观测监控 Prometheus 版进行了专项优化,可有效减轻APIServer的压力,最终实现最小资源占用,最大化采集容器集群监控指标,为您的业务保驾护航。
优势一:性能提升
对比项 | 可观测监控 Prometheus 版 | 自建Prometheus监控 |
高可用性 | 支持采集存储组件多副本,可水平扩展,可用性高 | 单进程,无法水平扩展,可用性低 |
数据存储 | 基于云上存储,存储容量无限制 | 受限于存储容量 |
数据可视化 | 内置Grafana,各类常见监控模板开箱即用 | 需要单独部署Grafana,并自行配置看板 |
告警管理 | 集成ARMS告警中心,全面提升告警效率与精度 | 自行接入AlertManager插件 |
单副本采集性能(2核4 GB) | 600万数据点 | 100万数据点 |
数据查询性能(6亿时间点) | 8~10秒 | 180秒 |
其他能力 | 支持预聚合、降采样、GlobalView等能力 | 不支持 |
优势二:多集群Prometheus聚合查询
提供多个阿里云Prometheus实例或自建Prometheus集群的虚拟聚合实例,针对这个虚拟聚合实例您可以实现Prometheus指标的统一查询,统一Grafana数据源和统一告警。
解决开源Prometheus数据分散保存,Grafana中需要配置多个数据源地址,不同的数据源无法高效地整合在一起,难以用整体的视角分析应用在全球各个地域的运行状况。
您无需在每个区域自行部署Prometheus Server,只需要以Remote Write方式将数据上报至阿里云可观测监控 Prometheus 版,同时您也无需部署Thanos中的大量组件,无其他组件部署的依赖即可使用GlobalView的功能。
全局查询基于分布式的查询,并进行了性能优化,针对大量查询可以随时实现水平、纵向扩缩,查询性能、稳定性较好。
开箱即用,基于阿里云可观测监控 Prometheus 版服务,您无需额外部署任何其他组件,极大地降低运维成本。
优势三:轻量化安装
对比开源Prometheus的安装方式,阿里云可观测监控 Prometheus 版服务,仅需在您的容器集群内安装轻量化探针,后端存储采用托管模式,可节省业务容器集群资源占用。
优势四:集成Grafana服务
阿里云Grafana服务是云原生的运维数据可视化平台,提供免运维和快速启动Grafana运行环境的能力,具有以下优势:
默认集成可观测监控 Prometheus 版、SLS等多种阿里云服务数据源,并支持第三方或自建数据源,快速建立一体化运维可视化看板。
独享实例与高SLA保障,确保监控体系高可用与弹性,让运维监控更可靠,维护成本更低。
打通阿里云账号SSO与自建账号体系,在保障数据安全的同时实现数据源与大盘的精细化管理。
能够解决以下问题:
数据汇总难:各类云服务监控数据难以汇总统一,增加运维难度。
运维监控困难:各类云服务核心指标监控图表需要重复配置。
告警管理难:各类云服务的告警规则相互分散,难以统一管理。
能够提供以下能力:
默认集成:默认集成弹性计算、数据库等阿里云核心云服务。
统一大盘:建立跨数据源统一看板体系,让可视化运维更精细。
统一告警:轻松搭建一体化报警体系,提升报警管理效率。
优势五:集成告警系统
阿里云可观测监控 Prometheus 版服务默认对接了阿里云上的统一告警系统,统一告警具有以下特点:
全球化
告警规则模板全球化,一站式为全球事件配置告警。
联系人、通知策略全球化,仅需一次配置可全球生效。
集成事件后管理更高效
告警管理默认支持一键化集成阿里云常见的监控工具,并支持更多的监控工具手动接入,方便统一维护。
事件接入模块稳定,能提供7×24小时的无间断事件处理服务。
处理海量事件数据时可以保证低延时。
及时准确地将告警通知给联系人
配置通知规则,对事件合并后再发送告警通知,减少运维人员出现通知疲劳的情况。
根据告警的紧急程度选择邮件、短信、电话、钉钉等不同的通知方式,来提醒联系人处理告警。
通过升级通知对于长时间没有处理的告警进行多次提醒,保证告警及时解决。
快速管理告警
联系人能通过钉钉随时处理告警。
使用通用告警格式,使联系人能更好地分析告警。
支持多个联系人通过钉钉协同处理。
告警事件再加工
通过事件处理流编排简单的处理流程,对任意告警源上报的告警事件进行再加工,以满足差异化的事件数据处理需求。
事件管理支持对任意告警源上报的告警事件去重、压缩、降噪、静默,从而收敛告警,减少告警风暴的产生。
告警配置管理
提供容器集群常见核心指标监控模板,同时提供告警模板功能可自行生成和下发告警模板,实现快速批量化配置告警。
提供页面化告警配置引导和预览,可实时查看告警条件匹配事件,并进行精细化配置。
统计告警数据,实时分析处理情况,改进告警处理效率,分析业务运行情况。
示例:将多云容器集群接入可观测监控 Prometheus 版
前提条件
支持通过公网和内网接入。更多信息,请参见注册集群FAQ。
步骤一:创建阿里云注册集群
步骤二:将多云集群纳管到阿里云注册集群
这里以腾讯云的Kubernetes为例,介绍如何将腾讯云的Kubernetes集群通过阿里云的注册集群进行统一纳管,实现使用可观测监控 Prometheus 版进行指标抓取和展示。
在阿里云容器服务集群列表页面,找到上文步骤一:创建阿里云注册集群中创建的registCluster注册集群,然后单击其操作列的详情。
单击连接信息页签,然后在公网访问页签查看公网集群连接信息并单击右侧的复制。
登录腾讯云容器服务控制台,在集群页面单击目标集群名称,然后单击右上角的YAML创建资源,将上一步骤中复制的公网集群连接信息粘贴至编辑区域,然后单击完成进行代理安装。然后在腾讯云集群页面查看Deployment、ack-cluster-agent的运行状态,若处于正常运行状态,则代表代理安装成功。
登录阿里云容器服务管理控制台。在集群列表页面查看上文步骤一:创建阿里云注册集群创建的registCluster注册集群的状态,若处于运行中状态,则代表纳管成功。
步骤三:安装Prometheus组件
具体操作,请参见将阿里云Prometheus接入注册集群。
步骤四:查看监控数据
可观测监控 Prometheus 版默认集成常用的Grafana大盘供您查看监控数据,包括Deployment大盘、Daemonset大盘等,通过大盘查看监控数据的具体操作如下:
在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。
单击上文步骤一:创建阿里云注册集群中创建的registCluster注册集群Prometheus实例。
在左侧导航栏单击大盘列表,在大盘列表页面您可以单击任一大盘名称超链接查看具体的Metrics指标数据。
步骤五:查看告警
可观测监控 Prometheus 版默认开启多种容器集群核心指标监控,无需您自行开启,避免了您自行开启监控可能会产生遗漏的问题。同时默认集成多种核心指标告警模板,您可根据需要进行开启,无需您自行编写PromQL的步骤。查看ARMS 可观测监控 Prometheus 版告警的具体操作如下:
在左侧导航栏单击实例列表,进入可观测监控 Prometheus 版的实例列表页面。
单击上文步骤一:创建阿里云注册集群中创建的registCluster注册集群Prometheus实例。
在左侧导航栏单击告警规则,在告警规则页面您可以查看具体的告警信息。