You need to enable JavaScript to run this app.
文档中心
托管 Prometheus

托管 Prometheus

复制全文
下载 pdf
高可用采集方案
部署 VM Agent
复制全文
下载 pdf
部署 VM Agent
采用高可用采集方案,您需要首先在目标集群中部署 VM Agent 采集器。本文为您详细介绍 VM Agent 采集器的基本概念、部署步骤和参数配置。
注意
  • VM Agent 为 VictoriaMetrics 原生版本,暂时不支持火山引擎 AK/SK 鉴权方式。
  • 如果您使用的是火山引擎容器服务(VKE)集群,建议您直接在集群中使用 组件管理 功能安装采集器和组件,详情请参见 容器服务接入
概述
高可用性说明
VM Agent 采集器自带 Operator,能够实现采集器和 kube-state-metrics 组件的分片和数据采集,性能和可用性较高。
alt
组件说明
当您在集群中安装 VM Agent 采集器时,会同时安装 vm-operator、kube-state-metrics 和 node-exporter 组件。每个组件的名称、类型和作用说明如下表所示。
组件名称
负载类型
命名空间
说明
vmagent
StatefulSet
volcano-metrics
采集集群内 kubelet、kubelet-cadvisor 、kube-state-metrics 、node-exporter 暴露的指标。
vm-operator
Deployment
volcano-metrics
VM Agent 控制组件。
kube-state-metrics
StatefulSet
volcano-metrics
提供 Kubernetes 资源信息指标数据。
node-exporter
DaemonSet
volcano-metrics
提供节点资源信息指标数据。
在此场景下,VM Agent 充当 VMP 服务的数据采集组件,直接抓取监控对象的监控数据,并将监控数据发送至 VMP 服务进行保存。默认情况下,监控数据包括: node-exporter、 kubelet metrics/cadvisor、kubelet metrics、kube-state-metrics 和 agent 自身。
默认规格
VM Agent 采集器中涉及的组件,默认的实例规格如下表所示。
组件名称
默认 CPU 请求值
默认内存请求值
默认 CPU 上限值
默认内存上限值
vmagent
2 Core
2 GiB
4 Core
4 GiB
kube-state-metrics
0.2 Core
512 MiB
0.8 Core
2 GiB
node-exporter
0.05 Core
128 MiB
0.1 Core
256 MiB
前提条件
  • 已创建自建 Kubernetes 集群,并通过 云企业网 等方式打通私有网络(VPC)与云下数据中心(IDC)。
  • 使用脚本安装 VM Agent 时,需要使用本地环境(Linux/Mac)中的 wget、echo、curl 和 sed 工具,请保证您的系统中已经正确安装上述命令行工具。
注意
VM Agent 采集器与容器服务集群中的 promethues-agent 组件冲突,不能同时使用,部署 VM Agent 前,请确认您的集群中没有安装 promethues-agent 组件。详情请参见 容器服务接入
部署实例(默认配置)
您可以使用部署脚本,快速部署 VM Agent 采集器。当采用缺省配置部署时,操作步骤如下:
  1. 在本地环境中下载脚本,详情请参见 获取脚本
  1. 使用 kubectl 正确连接 Kubernetes 集群。
  1. 执行以下命令,部署 VM Agent 采集器。
./install.sh \
--agent vmagent \ # 采集器类型。
--region cn-beijing \ # VMP 工作区所在地域。
--remote-write-url http://write.prometheus-cn-beijing.ivolces.com/workspaces/b762e1a3-37***/api/v1/write \ # VMP 工作区的 Remote Write 地址,并添加 api/v1/write 后缀。
--namespace volcano-metrics \ # 部署采集器的命名空间。
--basic-auth-username username-demo \ # VMP 工作区 Basic Auth 认证模式下的认证用户名。
--basic-auth-password password-demo # VMP 工作区 Basic Auth 认证模式下的认证密码。
说明
上述配置中,请根据您的实际情况,修改 regionremote-write-urlnamespacebasic-auth-usernamebasic-auth-password 参数。
部署实例(自定义配置)
如果采集器的默认规格无法满足您的需求,支持在部署前,使用部署脚本中的预定义参数,修改实例配置(例如:采集器的 CPU 和内存容量)。操作步骤如下:
  1. 在本地环境中下载脚本,详情请参见 获取脚本
  1. 使用 kubectl 正确连接 Kubernetes 集群。
  1. 执行以下命令,修改配置项并部署 VM Agent 采集器。
./install.sh \
--region cn-beijing \ # VMP 工作区所在地域。
--remote-write-url http://write.prometheus-cn-beijing.ivolces.com/workspaces/b762e1a3-37***/api/v1/write \ # VMP 工作区的 URL 地址,并添加 api/v1/write 后缀。
--basic-auth-username username-demo \ # VMP 工作区 Basic Auth 认证模式下的认证用户名。
--basic-auth-password password-demo \ # VMP 工作区 Basic Auth 认证模式下的认证密码。
--agent vmagent \ # 采集器类型。
--namespace volcano-metrics \ # 部署采集器的命名空间。
--agent-scrape-interval 15s \ # 采集器的数据采集间隔。
--vmagent-replicas 1 \ # VM Agent 采集器的副本数。
--vmagent-shards 2 \ # VM Agent 采集器的分片数。
--vmagent-resources-requests-cpu 100m \ # VM Agent 采集器的 CPU 请求值。
--vmagent-resources-requests-memory 200Mi \ # VM Agent 采集器的内存请求值。
--vmagent-resources-limits-cpu 100m \ # VM Agent 采集器的 CPU 上限值。
--vmagent-resources-limits-memory 200Mi \ # VM Agent 采集器的内存上限值。
--kube-state-metrics-shards 2 \ # kube-state-metrics 组件的分片数。
--kube-state-metrics-resources-requests-cpu 50m \ # kube-state-metrics 的 CPU 请求值。
--kube-state-metrics-resources-requests-memory 100Mi \ # kube-state-metrics 的内存请求值。
--kube-state-metrics-resources-limits-cpu 50m \ # kube-state-metrics 的 CPU 上限值。
--kube-state-metrics-resources-limits-memory 100Mi # kube-state-metrics 的内存上限值。
部署实例(自定义参数)
如果部署脚本中预定义的参数无法满足您的需求,您也可以自定义相关参数,操作步骤如下:
  1. 在本地环境中下载脚本,详情请参见 获取脚本
  1. 使用 kubectl 正确连接 Kubernetes 集群。
  1. 执行以下命令,配置您的自定义参数,并输出 install.yaml 配置文件。
./install.sh \
--region cn-beijing \
--remote-write-url http://write.prometheus-cn-beijing.ivolces.com/workspaces/b762e1a3-37***/api/v1/write \
--basic-auth-username username-demo \
--basic-auth-password password-demo \
--agent vmagent \
--rendering-only > install.yaml
  1. 进入 install.yaml 文件,配置相关参数并保存。
vim install.yaml
  1. 执行如下命令,部署相关组件。
kubectl apply -f install.yaml
检查结果
VM Agent 正确部署后,登录集群,在无状态负载列表中,可以查看到 vm-operator 工作负载。在有状态负载列表中,可以查看到 VM Agent 和 kube-state-metrics 工作负载。
说明
为了保证采集器能够正常采集数据,除需要保证采集器正常工作外,还需要保证采集对象的 Metrics API 或 Exporter 正常。相关的配置和部署,需要您自己完成并保证正确。
后续操作
采集器部署完成后,除默认的采集规则外,您可以使用 ServiceMonitor 或 PodMonitor 配置面向自定义目标的采集规则。详情请参见 服务发现
使用帮助
您可以通过安装脚本的 --help 参数,查看脚本中所有的预定义字段和含义。
./install.sh install --help
安装脚本中不同字段的含义和示例如下。
./install.sh install --help
install agent and system metrics exporter. if it is VM Agent, vmoperator will also be installed
Usage: install.sh install [flag...]
Flag:
{{flag}} {{current val if exist}}
--agent vmagent
--remote-write-url http://write.prometheus-cn-beijing.com/workspace/b762e1a3-37***/api/v1/write
--basic-auth-username username-demo
--basic-auth-password password-demo
--access-key TDOSNQG***
--secret-key YvT3ing***
--region cn-beijing
--exec-script-env local
--rendering-only
--namespace volcano-metrics
--topology-key-zone topology.kubernetes.io/zone
--topology-key-node kubernetes.io/hostname
--storage-class
--kube-state-metrics-shards 1
--kube-state-metrics-resources-requests-cpu 100m
--kube-state-metrics-resources-requests-memory 250Mi
--kube-state-metrics-resources-limits-cpu 500m
--kube-state-metrics-resources-limits-memory 1Gi
--agent-scrape-interval 15s
--vmpagent-name vmpagent
--vmpagent-replicas 1
--vmpagent-pvc-capacity
--vmpagent-resources-requests-cpu 500m
--vmpagent-resources-requests-memory 1Gi
--vmpagent-resources-limits-cpu 2
--vmpagent-resources-limits-memory 4Gi
--vmagent-replicas 1
--vmagent-shards 2
--vmagent-pvc-capacity
--vmagent-resources-requests-cpu 200m
--vmagent-resources-requests-memory 400Mi
--vmagent-resources-limits-cpu 1
--vmagent-resources-limits-memory 2Gi
--disable-cadvisor
--cadvisor-only
--disable-install-node-exporter
参数
说明
--agent
选择部署的采集器,取值固定为 vmagent
--remote-write-url
VMP 工作区的 Remote Write 地址,详情请参见 获取工作区地址
--basic-auth-username
VMP 工作区 Basic Auth 认证模式下的认证用户名。
--basic-auth-password
VMP 工作区 Basic Auth 认证模式下的认证密码。
--region
部署采集器集群的地域,例如:cn-beijing。详情请参见 地域和可用区
--exec-script-env
部署脚本执行环境,包括:
  • local: 本地环境。表示您在本地环境中执行该脚本。
  • public-cloud-vpc:VPC 环境。表示您在 VPC 环境中执行该脚本。
--rendering-only
仅查看 VM Agent、vm-operator 等组件的安装清单,不实际安装。
--namespace
部署采集器的命名空间,如未配置该参数,默认部署在volcano-metrics命名空间。
--storage-class
PVC 存储类型。
--kube-state-metrics-shards
kube-state-metrics 组件的分片数。
--kube-state-metrics-resources-requests-cpu
kube-state-metrics 的 CPU 请求值,整数形式,单位为 m,例如:100m 表示 CPU 请求值为 100 毫核。
--kube-state-metrics-resources-requests-memory
kube-state-metrics 的内存请求值,整数形式,单位为 Mi ,例如:200Mi 表示内存请求值为 200MB。
--kube-state-metrics-resources-limits-cpu
kube-state-metrics 的 CPU 上限值,整数形式,单位为 m,例如:100m 表示 CPU 上限值为 100 毫核。
--kube-state-metrics-resources-limits-memory
kube-state-metrics 的内存上限值,整数形式,单位为 Mi ,例如:200Mi 表示内存上限值为 200MB。
--agent-scrape-interval
采集器的数据采集间隔,整数形式,单位为 s,例如:15s。
--vmpagent-name
VMP Agent 采集器的名称。
--vmpagent-replicas
VMP Agent 采集器的副本数。
--vmpagent-pvc-capacity
VMP Agent 采集器的存储能力。
--vmpagent-resources-requests-cpu
VMP Agent 采集器的 CPU 请求值,整数形式,单位为 m,例如:100m 表示 CPU 请求值为 100 毫核。
--vmpagent-resources-requests-memory
VMP Agent 采集器的内存请求值,整数形式,单位为 Mi ,例如:200Mi 表示内存请求值为 200MB。
--vmpagent-resources-limits-cpu
VMP Agent 采集器的 CPU 上限值,整数形式,单位为 m,例如:100m 表示 CPU 上限值为 100 毫核。
--vmpagent-resources-limits-memory
VMP Agent 采集器的内存上限值,整数形式,单位为 Mi ,例如:200Mi 表示内存上限值为 200MB。
--vmagent-replicas
VM Agent 采集器的副本数。
--vmagent-shards
VM Agent 采集器的分片数。
--vmagent-pvc-capacity
VM Agent 采集器的存储容量。
--vmagent-resources-requests-cpu
VM Agent 采集器的 CPU 请求值,整数形式,单位为 m,例如:100m 表示 CPU 请求值为 100 毫核。
--vmagent-resources-requests-memory
VM Agent 采集器的内存请求值,整数形式,单位为 Mi ,例如:200Mi 表示内存请求值为 200MB。
--vmagent-resources-limits-cpu
VM Agent 采集器的 CPU 上限值,整数形式,单位为 m,例如:100m 表示 CPU 上限值为 100 毫核。
--vmagent-resources-limits-memory
VM Agent 采集器的内存上限值,整数形式,单位为 Mi ,例如:200Mi 表示内存上限值为 200MB。
--disable-cadvisor
禁用 VMP Agent 采集器对 cadvisor 的采集规则。
--cadvisor-only
仅启用 VMP Agent 采集器对 cadvisor 采集规则。
--disable-install-node-exporter
禁用 VMP Agent 采集器对 node-exporter 的采集规则。
最近更新时间:2025.06.23 14:33:15
这个页面对您有帮助吗?
有用
有用
无用
无用