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
-
A microservices cluster must be setup. Refer to Microservice Cluster Setup.
-
Apache Pulsar must be installed. Refer to Apache Pulsar microservice.
-
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:
-
$NAMESPACE - Namespace in which you want to install microservice
-
$WEBFQDN - FQDN of the server containing image registry
-
$HOST - Address of vCenter API
-
$USER - vCenter API User with rights to access performance counters endpoints
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