上云无忧 > 文档中心 > 百度智能云容器引擎服务 CCE 使用Prometheus监控集群
容器引擎服务CCE
百度智能云容器引擎服务 CCE 使用Prometheus监控集群

文档简介:
目前 CCE 的容器监控是由一系列的开源组件构成,用户可以在页面上自定义部署各个组件,并设置其公网开放策略、持久化配置等。全部部署后,用户将获得如下的监控能力: 基于开源的 prometheus + grafana + node-exporter + kube-state-metrics 的采集、存储、展示方案。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

监控概述

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

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

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

注意事项:cce 部署的 prometheus + grafana 可以选择 cds 作为持久化存储,但不是高可用模式,只是帮助用户快速安装套件,如果有其他需求可以修改资源 yaml。

使用方式

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

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

点击集群-监控日志-容器监控,可以看到如下页面:

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

部署监控核心服务

部署流程:

  • 组件 prometheus 为默认选中,含 alertmanager,用于后续的报警功能
  • 开启公网访问: prometheus 的默认 web 服务没有权限校验,此处默认为关闭,可以点击开启,部署后也可以在列表页对公网服务进行关闭或开启
  • 持久化存储:用户可以选择将 prometheus 的数据持久化到 cds 云磁盘上,需要选择自己未挂载的云磁盘,节点或 pod 越多,cds 磁盘应该越大,一般是 100G 以上的磁盘
  • 提交:提交后将一键部署 prometheus 的 deployment、service 等资源,pod 启动需要时间,可以在下方的列表页查看服务和 pod 的运行状态

部署监控采集组件

选择需要部署的采集组件,grafana 的默认模板使用了这两个组件采集的数据,可以全部部署,也可以后面再单独部署

部署监控展示组件

部署流程:

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

查看组件列表

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

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

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

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

监控模板展示

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

节点监控:

应用监控:

资源监控:

重要说明

注意事项

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

参考文档

cce 部署的均为开源组件,组件对应的开源项目或官方文档为:

  • prometheus: https://prometheus.io/
  • grafana: https://grafana.com/
  • node-exporter: https://github.com/prometheus/node_exporter
  • kube-state-metrics: https://github.com/kubernetes/kube-state-metrics

如何自定义监控

如果想在集群中部署自定义的 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,如果全部安装,默认资源限制为:

组件名称 request limit
prometheus cpu: 200m mem: 200Mi cpu: 2048m mem: 4096Mi
node-exporter cpu: 100m mem: 100Mi cpu: 1024m mem: 1024Mi
kube-state-metrics cpu: 100m mem: 100Mi cpu: 1024m mem: 1024Mi
grafana cpu: 100m mem: 100Mi cpu: 1024m mem: 2048Mi
相似文档
  • CCE 基于 Prometheus + Alertmanager 的方案为用户提供快速可视化的报警配置,用户可根据需求配置节点,应用等维度的报警规则,告警将以邮件或短信发送给指定用户或用户组。
  • K8S Events 可以通过 kubectl describe 进行查看,用户通过获取 K8S Events 能够及时的诊断集群或服务异常。K8S 默认只提供 1 小时的 Events 信息,用户可通过在 CCE 开启 Event 持久化,查询最长 7 天之内的数据。
  • CCE 日志管理功能帮助用户对 kubernetes 集群中的业务日志和容器日志进行管理。用户通过日志管理可以将集群中的日志输出到外部的 Elasticsearch 服务或者百度云自己的 BOS 存储中,从而对日志进行分析或者长期保存。
  • CCE 的服务画像可以查看集群内所有资源的特征和规范性,如镜像检查、应用检查、网络检查、安全检查,并给出对应的评分和详细内容,帮助用户更好的了解集群内服务状况。 注意:服务画像的结果基于前一天的集群数据,且检查规则是一般判定标准,不一定适用于所有业务场景。
  • CCE 集群异常事件报警服务:当 CCE 集群中发生异常事件(如节点 NotReady)时,能够通过云上 BCM 服务 实时向用户报警。 如何使用? (1) 打开百度云 console 主页。进入 CCE 服务,目标集群详情页。 依次点击 "监控日志 => 事件中心",打开右上角 "异常事件推送至BCM" 的开关。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部