VMWare Poller
Overview
The VMWare Poller is a microservice designed to poll availability and hierarchy of virtual machines available in the provided vmware network. It also provides the topology of the machines and hosts. The service works in parallel to discovery-service.
Prerequisites
-
A microservices cluster must be setup. Refer to Microservice Cluster Setup.
-
Apache Pulsar must be installed. Refer to Apache Pulsar microservice.
-
Graph Sink must be installed. Refer to Graph Sink
Setup
su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
1helm install vmware-poller assure1/vmware-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
Default Configuration
Name | Value | Possible Values | Notes |
---|---|---|---|
LOG_LEVEL | INFO | FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
Default Configuration for worker
Name | 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 | Set to true to create topolgy else false. |
PULSAR_DISCOVERY_CALLBACK_OVERRIDE | "" | Text, 255 characters | Discovery callback topic , default is persistent://assure1/discovery/discovery-service-zoneX |
Default Configuration for coordinator
Name | Value | Possible Values | Notes |
---|---|---|---|
PORT_COORDINATOR | "38890" | Text, 255 characters | Coordinator port. |
GRPC_FALLBACK_USE_IP | "true" | Boolean value | Dial to workers using ip address else fqdn |
PULSAR_VMWARE_CONTROL_OVERRIDE | "persistent://assure1/discovery/vmware-poller-zone%d" | Text, 255 characters | By default topic created as per the zone id, can be overriden. |
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 /coordinator.configData /worker.configData parent key respectively.
Default Auto Scaling Configuration
Name | Value | Possible Values | Notes |
---|---|---|---|
enabled | true | true, false | Enables auto scaling. |
pollingInterval | 5 | Integer | Interval at which KEDA will check if the metric has surpassed the threshold. |
cooldownPeriod | 300 | Integer | Period to wait before scaling the resource back to the minimum number of replicas. |
minReplicaCount | 2 | Integer | Minimum number of replicas when the resources are scaled down. |
maxReplicaCount | 20 | Integer | Maximum number of replicas when the resources are scaled up. |
dataCentersPerWorker | 1 | Integer | Maximum number of data centers to be polled by each worker. |
Configurations can be changed by passing the values to the a1helm install
prefixed with the worker.autoscaling parent key respectively.
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 installation command:
a1helm install ... --set redundancy.enabled=true
Example of enabling autoscaling
Autoscaling will not be enabled by default. To enable this functionality, pass the following to the installation command:
a1helm install ... --set worker.autoscaling.enabled=true
Microservice self-metrics
The VMWare Poller Microservice exposes the following self-metrics to Prometheus.
Coordinator metrics table
Note:
Each of the below metrics is prefixed with vmware_coordinator prefix. Example of a full metric name: vmware_coordinator_total_devices
Metric Name | Type | Description |
---|---|---|
total_devices | Gauge | Total no of devices polled in last pollcycle |
total_dataCenters | Gauge | Total no of Datacentres Polled in last pollcycle |
total_polltime | Gauge | Total polltime of last pollcycle |
total_errors | Gauge | Total errors during last pollcycle |