VMware Poller

The VMware Poller microservice polls the availability and hierarchy of virtual machines available in a VMware network. It also provides the topology of the machines and hosts.

This microservice is part of the Discovery microservice pipeline. It uses a worker-coordinator design to balance workloads and allow for scaling. You deploy instances of this microservice and others in the same pipeline to separate clusters for each device zone. See Understanding the Discovery Pipeline in Unified Assurance Concepts for conceptual information.

You can enable redundancy for this microservice when you deploy it. See Configuring Microservice Redundancy for general information.

Autoscaling is enabled by default for this microservice. You can optionally disable autoscaling when you deploy the microservice. See Configuring Autoscaling.

This microservice provides additional Prometheus monitoring metrics. See VMware Poller Self-Monitoring Metrics.

VMware Poller Prerequisites

Before deploying the microservice, confirm that the following prerequisites are met:

  1. A microservice cluster is set up. See Microservice Cluster Setup.

  2. The following microservices are deployed:

Deploying VMware Poller

To deploy the microservice, run the following commands:

su - assure1
export NAMESPACE=<namespace>
export WEBFQDN=<WebFQDN> 
1helm install <microservice-release-name> assure1/vmware-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN

In the commands:

You can also use the Unified Assurance UI to deploy microservices. See Deploying a Microservice by Using the UI for more information.

Changing VMware Poller Configuration Parameters

When running the install command, you can optionally change default configuration parameter values by including them in the command with additional --set arguments. You can add as many additional --set arguments as you need.

For example:

Default SNMP Poller Configuration

Some VMware Poller configurations apply to workers and coordinators, some apply only to coordinators, and some apply only to workers. The parameters set for the workers or coordinators specifically override the global parameters. For example, if you set global log levels to DEBUG, but the log level for coordinators to INFO, then the coordinator logs will use INFO and worker logs will use DEBUG.

Default Global VMware Poller Configuration

The following table describes the default global configuration parameters found in the Helm chart under configData for the microservice. These apply to both workers and coordinators.

Name Default Value Possible Values Notes
LOG_LEVEL INFO FATAL, ERROR, WARN, INFO, DEBUG Logging level used by application.

Default VMware Poller Worker Configuration

The following table describes the default configuration parameters for workers found in the Helm chart under configData for the microservice.

Name Default Value Possible Values Notes
PORT_COORDINATOR "38890" Text, 255 characters Coordinator port.
PORT_WORKER "38891" Text, 255 characters Worker port.
GRPC_GRACEFUL_CONN_TIME "60s" Text, 255 characters Before attempting to dial to coordinator, for specified time, try checking coordinator readiness.
VMWARE_TIMEOUT "30s" Text, 255 characters Configurable timeout for VMware connection time. Specifying a value of zero disables timeout features. Default value is 30s, you must specify unit i.e. 60s, 1m, 10h, 900ms etc.
WORKER_RCA_TOPIC "assure1/discovery/rca" Text, 255 characters RCA topic for vmware worker .
TOPOLOGY_CONFIG "true" Boolean value Whether to create toplogy (true) or not (false).
PULSAR_DISCOVERY_CALLBACK_OVERRIDE "" Text, 255 characters Discovery callback topic. The default is persistent://assure1/discovery/discovery-service-zoneX, where X is the zone where the microservice is deployed.

Default VMware Poller Coordinator Configuration

The following table describes the default configuration parameters for coordinators found in the Helm chart under configData for the microservice.

Name Default Value Possible Values Notes
PORT_COORDINATOR "38890" Text, 255 characters Coordinator port.
GRPC_FALLBACK_USE_IP "true" Boolean value Whether to connect to workers using IP addresses (true) or FQDNs (false).
PULSAR_VMWARE_CONTROL_OVERRIDE "persistent://assure1/discovery/vmware-poller-zone%d" Text, 255 characters By default, a topic is created for each zone ID. You can override it.
REDUNDANCY_POLL_PERIOD 5 Integer The number of seconds between status checks from the secondary microservice to the primary microservice.
REDUNDANCY_FAILOVER_THRESHOLD 4 Integer The number of times the primary microservice must fail checks before the secondary microservice becomes active.
REDUNDANCY_FALLBACK_THRESHOLD 1 Integer The number of times the primary microservice must succeed checks before the secondary microservice becomes inactive.

VMware Poller Autoscaling Configuration

Autoscaling is supported for the MS microservice. See Configuring Autoscaling for general information and details about the standard autoscaling configurations.

The VMware Poller microservice also supports the additional configurations described in the following table.

Name Default Value Possible Values Notes
dataCentersPerWorker 1 Integer Maximum number of data centers to be polled by each worker.

VMware Poller Self-Monitoring Metrics

The VMware Poller microservice exposes the self-monitoring metrics for coordinators described in the following table to Prometheus.

Each of the metrics in the table is prefixed with vmware_coordinator in the database. For example, the full metric name in the database for the first metric is vmware_coordinator_total_devices.

Metric Name Type Description
total_devices Gauge Total number of devices polled in last poll cycle.
total_dataCenters Gauge Total number of data centers polled in last poll cycle.
total_polltime Gauge Total poll time of last poll cycle.
total_errors Gauge Total errors during last poll cycle.

Note:

Metric names in the database include a prefix that indicates the service that inserted them. The prefix is prom_ for metrics inserted by Prometheus. For example, total_devices is stored as prom_total_devices in the database.