rometheus exporters are used to fetch statistics from another system and turn them into metrics in Prometheus format. Exporters use a simple, text-based, key-value format to collect and expose metrics. The Prometheus integration with vRealize Operations, supports metrics collection from the following exporters running on the Kubernetes cluster.

Supported Exporters

Exporter Name Support for Linux Support for Windows Supported Metrics
cAdvisor YES NO cAdvisor Metrics
cStatsExporter NO YES cStatsExporter Metrics
Telegraf Kubernetes Input plugin YES YES Telegraf Metrics
kube-state-metrics YES YES kube-state-metrics
Windows-node-exporter NO YES Windows Node Exporter Metrics
Node Exporter YES NO Node Exporter Metrics

Supported Exporters

  • Deploy the following exporters in your kubernetes cluster to get metrics to respective endpoints and then add them as targets in the prometheus.yml.
  • Install Node Exporter and Windows-Exporter on each node as a service.

The details of the exporters like, name, official documentation, sample deployment and important notes are given in the following table.

Exporter Name Official Documentation Important Notes
cAdvisor https://github.com/google/cadvisor
  • This should be deployed as a Daemonset in the Kubernetes cluster.
  • Add the nodename and the nodename value in the labels in prometheus.yml file for vRealize Operations to recognize the node.
cStatsExporter https://github.com/alexvaut/cStatsExporter Image: docker pull projects.registry.vmware.com/vrops_metric_exporters/cstatsexporter@sha256:1547a44857612c616ab14cde945326ffb9497abd5541737ff7fd4f3e2af83226
  • Sometimes, there are inconsistencies in the behaviour of the service where metrics are not available for some period of time. This is a limitation in the metrics from CstatExporter when it is runn as DaemonSet with single NodePort service.

  • To get metrics for all the nodes consistently, the cstatsExporter can be deployed as a Docker container on each Windows node.

Telegraf Kubernetes Input plugin https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kubernetesImage for telegraf for windows: docker pull projects.registry.vmware.com/vrops_metric_exporters/telegraf-win@sha256:be76abe7efb53d4af999302af08e014a80651ad06491fabd38f5ed927124bf4a
  • Keep omit_hostname=true under [agent] in telegraf.conf file or in the configmap.

  • Deploy the Telegraf Kubernetes Plugin as a Daemonset Kind in kuberenetes cluster.
kube-state-metrics https://github.com/kubernetes/kube-state-metrics
  • This exporter can be deployed as a deployment kind in Kubernetes cluster.
  • Expose the port 8080 of kube-state-metrics using NodePort service and add the job in prometheus.yml.
Windows-node-exporter https://github.com/prometheus-community/windows_exporter
  • Install the Windows node exporter as a service in each windows node.
  • Ensure that you add nodename label and the nodename value in labels in prometheus.yml for vRealize Operations to recognize the node.
Node Exporter https://github.com/prometheus/node_exporter
  • Install Node Explorer as a service in each Linux node.
  • Ensure that you add the nodename label and the nodename value in labels in prometheus.yml for vRealize Operations to recognize the node.