本文介绍如何修改 VMP Agent 的缺省配置,如何删除 VMP Agent 以及高可用性说明。
如果您需要修改 VMP Agent 的默认配置,可通过如下命令修改对应的 prometheus.yaml,其配置与原生 Prometheus 100% 兼容。配置的具体方法请参见 Promethues 官方配置文档。
kubectl edit configmaps agent -n volcano-metrics
./install.sh uninstall \ --agent vmpagent \ # 采集器类型。 --region cn-beijing \ # VMP 工作区所在地域。 --vmpagent-name vmpagent # 采集器名称。
VMP Agent 采集器是基于 Prometheus Agent 二次开发的采集器,因此基于采集分片和多副本的 Promethues 高可用方案依然适用于 VMP Agent 采集器。
VMP Agent 采集器与 Prometheus Agent 采集流程相同,都是在采集过程中将新获取到的数据写入 WAL (Write-Ahead Logging,预写式日志)中,上传至 VMP 服务前再从 WAL 中消费。因此当远程服务出现短时故障或者网络出现波动时,指标可以保证不丢失,在故障恢复后指标数据会继续恢复上传。与 Prometheus 相比较而言,由于不再需要在内存中保存指标数据,因此 CPU 和内存使用率将大幅降低,同时启动时仅从 WAL 恢复时序元数据,启动时间将更短。
默认配置下,VMP Agent 的 WAL 存放于容器的 /prometheus 目录,并使用 emptydir 挂载,可以满足非节点故障和非重新调度情况下的数据不丢失。如果对单副本数据有更高的要求,您可以使用 PVC(PersistentVolumeClaim,存储卷声明) 来替代 emptydir。
配置方法如下:
kubectl edit deployments agent -n volcano-metrics
命令,修改名为 data 的 volume,挂载新建的存储卷。