VMware exporter¶
Purpose¶
kubernetes/apps/observability/vmware-exporter wraps pryorda/vmware_exporter (v0.18.4) to scrape
one vCenter for host, datastore, VM and snapshot metrics. The ServiceMonitor supplies the target
vCenter as a ?vsphere_host= query param rather than a container argument, so the exporter pod
does not need to know its target at startup. Three GrafanaDashboard CRs (cluster, ESXi, virtual
machine) and a PrometheusRule round out the app.
Design¶
- Credentials come from a dedicated read-only vCenter account (the
vsphere-monitoring1Password item), not thevsphere-terraformadmin account used for provisioning, a deliberate least-privilege split. VSPHERE_IGNORE_SSLis set because vCenter presents its own VMCA certificate, which clients do not trust by default.- Pryorda's per-VM performance-counter pulls are slow, so the ServiceMonitor runs a long scrape
interval and timeout (180s/120s, timeout below interval) and
VMwareExporterDown's 15mforrides out an occasional slow scrape rather than paging on it. - The three dashboards are vendored from the upstream repository instead of imported via
url:, because the upstream JSON hard-codes its$datasourcetemplate variable toPrometheus(capitalized), which does not match this cluster'sprometheusdatasource name. KB-021 covers that bug in general.kustomization.yaml'sconfigMapGeneratoralso disables Flux'spostBuildsubstitution on the generated ConfigMap, so it does not blank the dashboards' own${datasource}/${__interval}macros.
Alert notes¶
VMwareHostPoweredOffassumesvmware_host_power_state == 1meanspoweredOn. That has not been confirmed against live/metricsoutput, so treat it as provisional until checked.VeeamServerGuestDownwatches one named VM's VMware Tools status rather than a generic host/datastore metric. KB-067 covers the outage that motivated it and why the alert has noabsent()companion.