The Prometheus integration with vRealize Operations Manager, 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

Exporter Details

  • 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 Sample Deployment Important Notes
cAdvisor https://github.com/google/cadvisor Cadvisor Setup
  • Ensure that you add nodename label and the nodename value in labels in prometheus.yml for vRealize Operations Manager to recognize that node.
  • Deploy cAdvisor as a Daemonset Kind in kuberenetes cluster.
cStatsExporter https://github.com/alexvaut/cStatsExporter Image: docker pull projects.registry.vmware.com/vrops_metric_exporters/cstatsexporter@sha256:1547a44857612c616ab14cde945326ffb9497abd5541737ff7fd4f3e2af83226 cStatsExporter Setup
  • To get metrics for all the nodes consistently, 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 Telegraf Kubernetes Input Plugin Setup
  • Set 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 Deploy the yaml files from the given link.
  • 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 Windows Exporter Setup on Windows Node
  • 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 Manager to recognize the node.
Node Exporter https://github.com/prometheus/node_exporter Node Exporter Setup on Linux Nodes
  • 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 Manager to recognize the node.

Experimental Support for Application Metrics

With the help of sidecar pattern, the Telegraf agent with appropriate Application input plugins (https://github.com/influxdata/telegraf#input-plugins) is enabled and deployed in the same pod where the application is hosted. Also, we can use or modify the telegraf agent installed in each node for collecting node metrics to monitor the applications deployed in Kubernetes with the appropriate input plugins configuration. All these metrics must have the proper pod name or pod id so that vRealize Operations Manager parses the metrics and displays them in the vRealize Operations Manager user interface.

Sample sidecar deployment configuration of telegraf agent to monitor Redis is provided in Redis Telegraf Input Plugin.