概述
本文档提供将 VMware Exporter 指标转换为标准 Node Exporter 格式的方案,实现监控基础设施的统一化和标准化。
背景
VMware Exporter 提供的原始指标格式与标准的 Node Exporter 不兼容,导致无法直接使用为 Node Exporter 设计的现有仪表板和告警规则。通过 Prometheus Recording Rules 进行指标转换,可以解决这一问题。
可用指标分析
从收集的指标数据中,确认以下关键指标可用于转换:
CPU 相关指标
vmware_vm_cpu_usage_average
- CPU 使用率百分比vmware_vm_num_cpu
- CPU 核心数量vmware_vm_cpu_usagemhz_average
- CPU 使用量(MHz)
内存相关指标
vmware_vm_memory_max
- 最大内存(MB)vmware_vm_mem_usage_average
- 内存使用量(MB)vmware_vm_mem_consumed_average
- 已消耗内存
磁盘相关指标
vmware_vm_guest_disk_capacity
- 磁盘总容量vmware_vm_guest_disk_free
- 磁盘可用空间
网络相关指标
vmware_vm_net_transmitted_average
- 网络发送量vmware_vm_net_received_average
- 网络接收量
Recording Rules 配置
Prometheus 配置示例
groups:
- name: vmware-to-node-metricsinterval: 1mrules:# CPU 指标转换- record: node_cpu_seconds_totalexpr: vmware_vm_cpu_usage_average / 100 * vmware_vm_num_cpulabels:mode: "user"# 内存指标转换- record: node_memory_MemTotal_bytesexpr: vmware_vm_memory_max * 1024 * 1024- record: node_memory_MemAvailable_bytesexpr: (vmware_vm_memory_max - vmware_vm_mem_usage_average) * 1024 * 1024# 网络指标转换- record: node_network_transmit_bytes_totalexpr: vmware_vm_net_transmitted_average * 1024labels:device: "eth0"- record: node_network_receive_bytes_totalexpr: vmware_vm_net_received_average * 1024labels:device: "eth0"# 磁盘指标转换- record: node_filesystem_size_bytesexpr: vmware_vm_guest_disk_capacitylabels:fstype: "ext4"mountpoint: "{{ $labels.partition }}"- record: node_filesystem_avail_bytesexpr: vmware_vm_guest_disk_freelabels:fstype: "ext4"mountpoint: "{{ $labels.partition }}"
单位转换说明
VMware 指标 | 单位 | Node Exporter 单位 | 转换公式 |
---|---|---|---|
内存指标 | MB | bytes | × 1024 × 1024 |
CPU 使用率 | 百分比 | seconds | ÷ 100 × 核心数 |
网络流量 | KB/s | bytes | × 1024 |
实施步骤
-
配置验证
- 确认 VMware Exporter 已正确配置并收集数据
- 验证所有需要的指标都可用
-
规则部署
- 将 recording rules 添加到 Prometheus 配置
- 重新加载 Prometheus 配置
-
功能验证
- 在 Prometheus UI 中查询新生成的指标
- 确认数据转换正确性
-
仪表板配置
- 使用标准的 Node Exporter 仪表板
- 根据需要调整数据源和查询
注意事项
- 性能影响:Recording rules 会增加 Prometheus 服务器负载
- 数据延迟:转换后的数据会有轻微延迟
- 指标覆盖:无法完全覆盖所有 Node Exporter 指标
- 标签一致性:需要确保标签映射的正确性
监控建议
- 监控 Recording rules 的执行性能
- 设置告警规则检测指标转换失败
- 定期验证数据一致性
总结
通过此方案,可以实现 VMware 虚拟机监控与标准 Node Exporter 监控体系的统一,提高监控效率并复用现有的监控基础设施。