VMWare Metric Poller

Overview

The Unified Assurance VMWare Metric Poller microservice is a microservice designed to poll performance counters from vCenter API 7.X.

Prerequisites

  1. A microservices cluster must be setup. Refer to Microservice Cluster Setup.

  2. Apache Pulsar must be installed. Refer to Apache Pulsar microservice.

  3. Metric-sink or alternative sink must be installed. Refer to Metric Sink microservice.

Setup

su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN> 

Secret

The VMWare Metric Poller is expecting to read a secret file which contains the password for the API, and is stored as a BASE64 obfuscated text file. The secret name has to be vmware-secret, and within that secret you can store multiple password files with different custom names. By default, the poller will be looking for a vmware.secret file. You can specify which secret file to read by setting the from-file variable. To create a default secret for the VMWare Metric Poller, create a plain text file on the system called vmware.secret and place the BASE64 encoded API password there.

Run the following command as the assure1 user to create a default vmware secret:

a1k create secret generic vmware-secret --from-file=vmware.secret -n $NAMESPACE

If you wish to create another secret with a different password for another instance, create a BASE64 encoded password file with a custom name (i.e custom.secret) and run the same command as assure1 user replacing the file name:

a1k create secret generic vmware-secret --from-file=custom.secret -n $NAMESPACE

Polling

The VMWare Metric Poller supports polling of multiple vCenter instances. You can specify the polling target during installation by setting TARGET_HOST and TARGET_USER variables and a SECRET variable if it's different than default (vmware.secret). To install the microservice with the default settings against single instance, add the default secret (vmware.secret) following the steps from previous point, and run following command as assure1 user.

Note:

A secret is not passed here, by default it will look for vmware.secret file.

a1helm install vmware-metric-poller assure1/vmware-metric-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set configData.TARGET_HOST=$VMWAREHOST --set configData.TARGET_USER=$VMWAREUSER

Where variables are:

If you wish to add pollers for additional instances, add a secret for each new instance with a different name than default, then install the microservice instance with the new values. Please note that if you want to use more than one instance of the microservice, it is a good practice to name it manually during installation for easier tracking. Otherwise, the microservice name will be appended with a random hash suffix. Below is an example of installing an additional poller where $VMWAREHOST_INSTANCE_0 and $VMWAREUSER_INSTANCE_0 should hold credentials for that target instance.

Note:

The SECRET variable is specified here to point to our custom secret for the new instance.

a1helm install vmware-metric-poller-custom-instance-0 assure1/vmware-metric-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set configData.TARGET_HOST=$VMWAREHOST_INSTANCE_0 --set configData.TARGET_USER=$VMWAREUSER_INSTANCE_0 --set configData.SECRET=custom.secret

Default Configuration

Name Value Possible Values Notes
LOG_LEVEL INFO FATAL, ERROR, WARN, INFO, DEBUG Logging level used by application.
STREAM_OUTPUT Not configurable yet persistent://assure1/metric/sink Text, 255 characters Allows redirecting stream output to different topic.
TARGET_USER Text, 255 characters vCenter API User.
TARGET_HOST Text, 255 characters vCenter API address.
SECRET vmware.secret Text, 255 characters Name of the secret to read from.
INTERVAL_S 300 Integer Polling interval in seconds.
V5_MODE false true, false Enables legacy compatibility mode (Metrics will be visible in v5 UI).
DEVICE_ZONE_ID 1 Integer Device zone override for newly created vmware device representations.
POLL_OFFSET_H 0 Integer Polling offset in h. If API time zone is 2h begin use 2, if its 2h ahead -2.
REDUNDANCY_POLL_PERIOD 5 Integer How often the secondary service checks to see if the primary is online, in seconds.
REDUNDANCY_FAILOVER_THRESHOLD 4 Integer The number of failed polls before the secondary becomes the active application.
REDUNDANCY_FALLBACK_THRESHOLD 1 Integer The number of successful polls before the secondary goes back to sleep.

Configurations can be changed by passing the values to the a1helm install prefixed with the configData parent key.

Example of setting the log level to DEBUG

a1helm install ... --set configData.LOG_LEVEL=DEBUG

Example of enabling redundancy

Redundancy will not be enabled by default. To enable this functionality, pass the following to the install command:

a1helm install ... --set redundancy.enabled=true