CCE监控

监控概述

目前CCE的容器监控是由一系列的开源组件构成,用户可以在页面上自定义部署各个组件,并设置其公网开放策略、持久化配置等。全部部署后,用户将获得如下的监控能力:

  • 基于开源的prometheus + grafana + node-exporter + kube-state-metrics的采集、存储、展示方案
  • 节点监控:提供各节点的状态、cpu、内存、磁盘等指标
  • 应用监控:提供基于namespace-app-pod-container多级筛选的容器指标查看,如cpu、内存、网络流量等
  • 资源监控:提供pod数量、pod启动时间、deployment、job等资源状态以及api-server请求数等性能指标
  • 自定义监控:提供用户自定义exporter的接入

用户可以在页面上部署、卸载、更新各组件,开放或关闭公网服务,并提供grafana模板的增量更新功能。

使用方式

CCE 容器监控产品基于开源组件,各组件作用为:

  • prometheus:监控核心服务,负责数据聚合及存储;
  • node-exporter :采集组件,提供主机维度的指标采集,如node节点的cpu使用率
  • kube-state-metrics:采集组件,提供资源维度的指标采集,如pod数量、启动时间
  • grafana:展示组件,提供监控数据的可视化配置与展示

新集群的容器监控页如下:

选择对应的集群后,会发现新集群的各组件均为“未安装”状态,这时可以点击上方的三个部署按钮进行初始化部署。

部署核心服务

部署流程:

1.组件prometheus为默认选中
2.开启公网访问:prometheus的默认web服务没有权限校验,此处默认为关闭,可以点击开启。部署后也可以在列表页对公网服务进行关闭或开启
3.持久化存储:用户可以选择将prometheus的数据持久化到cds云磁盘上,添加或者选择自己的云磁盘
4.确认提交:将一键部署prometheus的pod、service等资源,pod启动需要时间,可以在列表页查看服务和pod的运行状态

部署采集组件

部署流程:

1.选择需要部署的组件
2.grafana的默认模板使用了以上两个组件采集的数据,用户可以初始化时全部部署,也可以后续单独部署

部署展示组件

部署流程:

1.grafana默认选中,将自带3套监控模板:节点监控、应用监控、资源监控
2.开启公网访问:grafana一般需要暴露服务,建议打开公网访问, 默认密码为集群id,登录后请尽快修改密码
3.持久化存储:用户可以选择将grafana的面板配置数据持久化到cds云磁盘上,防止pod漂移、模板升级时丢失数据
4.确认提交:将一键部署grafana的pod、service等资源,并自动挂载用户选择的cds磁盘

查看组件列表

用户部署后可以在下方的列表页查看组件情况,每一列的含义分别为:

  • 组件名称:点击可以进入到组件对应的deployment或daemonset页面
  • 类型:分为展示组件、采集组件、核心服务
  • 安装状态:已安装、未安装
  • 运行状态:展示pod的实际值/期望数,如果实际值不等于期望值,将显示黄色标记,正常为绿色
  • 访问地址:对于prometheus和grafana,会展示其外网地址,同时可以点击按钮一键关闭或者开放外网服务
  • 版本号:各组件均为开源项目,这里会展示其使用的开源版本号,方面用户查看文档,grafana的版本号会加入-v1.0标记,用于标识当前的模板的版本,用于升级监控模板
  • 创建时间:组件的创建时间

用户可以勾选某个组件,进行更新、卸载操作,或者点击最上方的部署按钮重新部署

  • 卸载:将勾选的组件完整卸载
  • 更新:将现有组件卸载并重新安装,如果之前挂载了cds持久化,将复用之前的cds
  • 重新部署:可以点击最上方的部署按钮,将会彻底删除现有组件重新部署,如果之前挂载了cds,新组件也将不再加载原有数据。

监控模板展示

grafana的默认模板包括三种:节点监控、应用监控、资源监控

节点监控:

应用监控:

资源监控:

重要说明

注意事项

1.grafana服务的默认账号为admin,密码为集群id,登录后请及时修改密码
2.如果选择了挂载cds磁盘,请不要在其他页面删除该磁盘,否则会导致数据异常
3.prometheus的默认web服务没有权限校验,如果是为了临时调试开放,建议使用后及时关闭公网访问
4.如果组件的运行状态异常,可以点击进入组件详情页,查看对应pod的事件和日志

如何自定义监控

如果想在集群中部署自定义的exporter,暴露自定义的监控指标,有以下两种选择:

1.选择prometheus推荐的exporter:https://prometheus.io/docs/instrumenting/exporters/

2.自主开发exporter组件:https://prometheus.io/docs/instrumenting/writing_exporters/

准备好exporter后,按照官方文档部署在集群内,并创建对应的service资源,同时在service的annotation中添加

prometheus.io/scrape: "true"

prometheus将自动采集新的监控指标,确认指标无误后,用户可以在grafana上定制自己的监控图表。

资源占用

以上组件均设置了limit和request,如果全部安装,初始占用资源为:

  • CPU:1核
  • 内存:1G
  • BLB/EIP:如果开放了公网访问,将按照流量收费