You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
监控组件
prometheus-agent
复制全文
下载 pdf
prometheus-agent
prometheus-agent 是容器服务集群的核心监控采集组件,负责将集群指标数据采集并上报至托管 Prometheus 工作区。本文介绍该组件的核心资源、规格推荐及安装配置说明。​
组件概述​
prometheus-agent 组件为集群监控采集组件,用于采集集群监控指标数据到托管 Prometheus 服务。在集群中安装组件后,系统会在 kube-system 命名空间下创建如下 Kubernetes 资源。​
​
资源名称​
资源类型​
资源说明​
vmagent-prometheus-agent​
StatefulSet​
核心采集器组件,负责从各类指标源(如 kubelet、node-exporter 等)拉取数据并将其远程写入到托管 Prometheus 工作区。​
prometheus-agent-vmoperator​
Deployment​
自动化管理运维控制器(Operator),负责监听和管理 ServiceMonitor、PodMonitor 等自定义资源(CRD),并将其转化为 vmagent 可以识别的采集配置。​
prometheus-agent-kube-state-metrics​
StatefulSet​
用于暴露 Kubernetes API 对象的元数据信息指标,例如 Deployment、Pod、Node 等资源的状态、标签、注解等。​
prometheus-agent-horizontal-workload-autoscaler​
StatefulSet​
采集组件智能弹性伸缩控制器,用于在监控指标量突增时自动扩容采集器以分摊压力,并在业务低谷时自动缩容以节省集群资源。​
prometheus-agent-node-exporter​
DaemonSet​
在集群的每个节点上运行,负责采集该节点的操作系统和硬件相关的指标,如 CPU、内存、磁盘和网络使用情况。​
ServiceMonitor​
CRD​
通过匹配 Service 的标签(Labels),自动发现 Service 后端的 Pod 指标端点。适用于使用 Service 暴露后端 Pod 的场景。详情请参见 通过 ServiceMonitor 配置服务发现。​
PodMonitor​
CRD​
通过匹配 Pod 的标签(Labels),自动发现指标端点。适用于没有创建 Service,或者需要更精细化地控制采集目标的场景。详情请参见 通过 PodMonitor 配置服务发现。​
​
说明​
上表中仅罗列出了该组件的主要资源,以及配置组件或对应功能时可能使用到的资源,方便您了解该组件的主要组成。其他的组件相关资源(例如 ConfigMap、Secret 等)不多做介绍,请以集群中的实际为准。​
组件版本​
关于组件的历史发布记录、各版本新增特性及优化说明等信息,详情请参见 组件发布记录。​
规格推荐​
在容器集群中安装 prometheus-agent 组件时,会同步安装 vm-agent 采集器和 kube-state-metrics 组件。组件的分片数和规格与集群规模相关,您可以基于集群规模,配置组件的初始(最小)分片数。本小节将为您介绍在缺省规格下,不同规模集群推荐的组件初始(最小)分片数。​
vm-agent 采集器和 kube-state-metrics 组件的默认资源规格,如下表所示。​
​
资源规格​
vm-agent​
kube-state-metrics​
CPU 请求​
2 Core​
0.2 Core​
内存请求​
2 GiB​
512 MiB​
CPU 上限​
4 Core​
0.8 Core​
内存上限​
4 GiB​
2 GiB​
​
vm-agent 采集器和 kube-state-metrics 组件在不同规模集群中的推荐初始(最小)分片数如下表所示。​
​
集群规模​
vm-agent 初始(最小)分片数​
kube-state-metrics 初始(最小)分片数​
10 Node,500 Pod​
1​
1​
100 Node,5000 Pod​
2​
2​
200 Node,10000 Pod​
4​
4​
500 Node,25000 Pod​
10​
10​
​
安装组件​
注意​
  • prometheus-agent 组件与使用脚本安装的 VM Agent 采集器冲突,不能同时使用,安装组件前,请确认您的集群中没有使用脚本安装的 VM Agent 采集器。详情请参见 部署 VM Agent。​
  • 当 prometheus-agent 组件为 v2.0.1 及以前版本时,您还需要配置组件的托管 Prometheus 工作区,并配置工作区的认证用户名和密码。同时,当您配置组件的工作区时,需要保证配置的工作区与集群绑定的工作区一致。否则将无法在 Prometheus 监控 页面中,查看集群监控的指标和大盘。​
  1. 在左侧导航栏中,选择 集群,单击目标集群名称,进入集群管理页面。​
  1. 在左侧导航栏中,选择 组件管理,并选择 监控 页签。​
  1. 将鼠标移动到组件卡片上,单击 部署,配置组件相关参数。​
  • ​​​
  • ​
    参数​
    描述​
    部署方式​
    该参数已固定为自定义 Deployment 部署,暂不支持自定义配置。​
    部署形态​
    仅已安装了 vci-virtual-kubelet 组件的集群显示该参数。部署组件的节点类型,有如下两种方式:​
    • 云服务器部署:表示在集群中的云服务器节点(Node)上部署该组件。​
    • 弹性容器部署:表示在集群中的弹性容器实例(VCI),即虚拟节点(VirtualNode)上部署该组件。在弹性容器实例上部署组件,会产生费用,详细的费用说明,请参见 弹性容器实例产品计费。​
    vm-agent 资源​
    配置 vm-agent 采集器的默认资源,包括:CPU 请求、CPU 上限、内存请求、内存上限。​
    kube-state-metrics 资源配置​
    配置 kube-state-metrics 组件的默认资源,包括:CPU 请求、CPU 上限、内存请求、内存上限。​
    说明​
    由于 kube-state-metrics 组件本身存在的限制(例如:每个组件实例允许采集的 Target 数量有限),在大规模集群中,建议优先使用增加分片数的方式,提升 kube-state-metrics 组件的指标采集能力。​
    vm-agent 初始分片数​
    配置 vm-agent 采集器的初始分片数。​
    kube-state-metrics 初始分片数​
    配置 kube-state-metrics 组件的初始分片数。​
    组件扩缩容​
    配置是否开启 vm-agent 采集器和 kube-state-metrics 组件的自动扩缩容功能。​
    • 不开启:组件的分片数为配置的初始分片数。不会随着资源占用率的提升而自动扩容。​
    • 开启:配置组件的最大分片数。组件会基于资源占用率自动扩缩容,具体逻辑如下:​
    • vm-agent 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。​
    • vm-agent 缩容:全部资源(CPU 和内存)使用率均 < 30% 时,自动缩容。​
    • kube-state-metrics 扩容:任一资源(CPU 或内存)使用率 > 70% 时,自动扩容。​
    • kube-state-metrics 缩容:全部资源(CPU 和内存)使用率均 < 70% 时,自动缩容。​
    注意​
    • vm-agent 扩缩容冷却时间为 30 分钟。kube-state-metrics 基于 HPA 进行扩缩容。​
    • 配置组件自动扩缩容功能后,请保证集群资源充足,否则可能由于资源不足,导致组件扩容失败。​
    • vm-agent 采集器和 kube-state-metrics 组件扩容时,为保证负载均衡,建议配置 kube-state-metrics 组件的分片数为 vm-agent 采集器分片数的整数倍,例如:kube-state-metrics 组件分片数:vm-agent 采集器分片数 为 1:1 或 2:1 等。​
    部署插件​
    配置是否同步安装 node-exporter 插件,默认安装插件。该插件用于采集节点操作系统的各项软硬件指标;如果不安装,则无法监控节点指标。建议您保持默认值。​
    说明​
    node-exporter 插件以 DaemonSet 方式部署。因此,当您在弹性容器实例 VCI 场景中安装时,该插件会被部署在 ECS 节点上。更多信息,请参见 VCI 使用限制。​
    节点标签选择​
    仅 部署形态 选择 云服务器部署 时,可配置该参数。开启后,可设置节点标签,组件的核心工作负载会被调度到带有该指定标签的节点上。​
    节点污点调度​
    仅 部署形态 选择 云服务器部署 时,可配置该参数。开启后,可设置污点容忍值,组件的核心工作负载允许被调度到带有指定污点的节点。​
    高级配置​
    ​
    Discovery Role​
    配置使用 Endpoints 或 EndpointSlices 服务发现方式。由于默认单个 Endpoints 只能支持最大 1K 的后端个数, 在 Kubernetes 1.21 版本之后,引入了 EndpointSlices 资源规避了该问题,所以在 Prometheus 中也同步支持了 EndpointSlices 的 服务发现方式。​
    默认为 EndpointSlices,如果 Kubernetes 版本小于 v1.21,会自动使用 Endpoints 方式。​
    全局 Labels​
    采集 prometheus-agent 默认给所有的采集指标添加的固定 Labels。​
    注意​
    • 只对由 Prometheus-agent 采集的指标生效,容器服务控制面组件(例如:kube-apiserver 等)指标是由组件自行上报,不会被修改。​
    • 如果新增或者修改全局 Labels,会导致活跃时序数增多(1小时内),如果指标规模较大,需要评估是否会达到活跃时序的限制。详情请参考 工作区规格。​
    警告​
    • 默认自动添加的额外 Label 为cluster:<集群 ID>。该 Label 为系统保留字段,一般不建议覆盖。​
    • 如果希望添加集群名称等,建议填写类似cluster_name的 Label。​
    • 如果填写 cluster Label,会覆盖系统保留字段,造成的影响有:​
    • 容器服务的监控看板里,可能存在部分面板无法展示指标。​
    • 基于某些告警模板创建的告警规则会失效(由于其中的cluster=~"$Cluster"的 Label 变动)。​
    Secret 权限​
    kube-state-metrics 需要在 ClusterRole 里包含 Secret 权限才能生成相关指标。​
    ​
  1. 单击 确认,完成配置。​
升级组件​
组件会不定期发布新版本以提供新特性或修复已知问题。当组件卡片提示有可用更新时,建议您及时进行升级。为确保业务平稳过渡,升级前请尽量安排在业务低峰期执行操作。关于升级的操作步骤和注意事项,请参见 升级组件。​
相关文档​
​
最近更新时间:2026.08.19 11:38:05
这个页面对您有帮助吗?
有用
有用
无用
无用