Skip to content

Assure1 vmware-poller microservice

Overview

The Assure1 vmware-metric-poller 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.

Setup

Secret

Vmware-metric-poller is expecting to read a secret (password for the API) stored as a BASE64 obfuscated text file. The secret name has to be vmware-secret, within that secret you can store multiple password files with different custom names. By default poller will be looking for vmware.secret file. You can specify which secret file to read by setting SECRET variable. To create a default secret for vmware-metric-poller create a plain text file on the system called vmware.secret and place BASE64 encoded API password there. Run following command as assure1 user to create 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 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

Vmware-metric-poller supports polling of multiple vCenter instances. You can specify 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 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 that we don't specify SECRET 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 (a1-zone1-pri by default) $WEBFQDN - FQDN of the server containing image registry $VMWAREHOST - Address of vCenter API $VMWAREUSER - vCenter API User with rights to access performance counters endpoints.

If you wish to add pollers for additional instances, add a secret for new instance with a different name than default, then install microservice instance with new values. Please note that if you want to use more than one instance of the MS it is a good practice to name it manually during installation for easier tracking. Otherwise microservice name will be appended with random hash suffix. Below is an example of installing additional poller (Note how we specify the SECRET variable here to point to our custom secret for the new instance):

a1helm install vmware-metric-poller-custom-intance-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
Where $VMWAREHOST_INSTANCE_0 and $VMWAREUSER_INSTANCE_0 should hold credentials for that target instance.

Default Configuration

You can override any of the specified variables with --set configData.VARILABLE_NAME= or --set-string configData.VARIABLE_NAME

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 vCetner User
TARGET_HOST Text, 255 characters vCenter 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

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