Mist Poller
The Mist Poller microservice polls topology data from the MIST Rest API. It collects data at regular intervals, normalizes it, and writes it to topics to which the Graph Sink microservice is subscribed. Topology is polled every 1 hour.
This microservice also supports discovering devices with the Discovery Service microservice.
This microservice is part of the Topology and Discovery microservice pipelines. See Understanding Microservice Pipelines in Unified Assurance Concepts for conceptual information.
This microservice provides additional Prometheus monitoring metrics. See Mist Poller Self-Monitoring Metrics.
Mist Poller Prerequisites
Before deploying the microservice, confirm that the following prerequisites are met:
-
A microservice cluster is set up. See Microservice Cluster Setup.
-
The following microservices are deployed:
-
Discovery Service, if you want to discover devices.
-
You know the MIST API URL, Cloud, and list of organization IDs.
-
You have created a Kubernetes secret containing the API access token by running the following command as the assure1 user:
a1k create secret generic mist-api-token-secret --from-literal=mist-api-token=<base64EncodedToken> -n <namespace>
You can optionally use a different secret name and file. If you do so, set them in the configData.MIST_SECRET_FILE_OVERRIDE and configData.MIST_SECRET_NAME_OVERRIDE configuration parameters when you deploy the microservice.
Deploying Mist Poller
To deploy the microservice, run the following commands:
su - assure1
export NAMESPACE=<namespace>
export WEBFQDN=<WebFQDN>
a1helm install <microservice-release-name> assure1/mist-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
In the commands:
-
<namespace> is the namespace where you are deploying the microservice. The default namespace is a1-zone1-pri, but you can change the zone number and, when deploying to a redundant cluster, change pri to sec.
-
<WebFQDN> is the fully-qualified domain name of the primary presentation server for the cluster.
-
<microservice-release-name> is the name to use for the microservice instance. Oracle recommends using the microservice name (mist-poller) unless you are deploying multiple instances of the microservice to the same cluster.
You can also use the Unified Assurance UI to deploy microservices. See Deploying a Microservice by Using the UI for more information.
Changing Mist 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, set a parameter described in Default Mist Poller Configuration by adding --set configData.<parameter_name>=<parameter_value>. For example, --set configData.LOG_LEVEL=DEBUG.
Default Mist Poller Configuration
The following table describes the default configuration parameters found in the Helm chart under configData for the microservice.
Name | Default Value | Possible Values | Notes |
---|---|---|---|
LOG_LEVEL | INFO | FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
STREAM_OUTPUT_GRAPH | persistent://assure1/graph/sink | Text, 255 characters | Graph sink topic path. |
TLS_CA | "/certs/a1/Assure1CA.crt" | Text, 255 characters | TLS CA certificate. |
TLS_CERT | "/certs/a1/User-api.crt" | Text, 255 characters | TLS user certificate. |
TLS_KEY | "/certs/a1/User-api.key" | Text, 255 characters | TLS certificate key. |
TOPOLOGY_INTERVAL | "1" | Integer | Time in minutes between polls of the topology data. |
PULSAR_MIST_DISCOVERY_OVERRIDE | "" | Text, 255 characters | Mist discovery request pulsar topic. |
PULSAR_MIST_DISCOVERY_CALLBACK_OVERRIDE | "" | Text, 255 characters | Mist discovery callback request pulsar topic. |
PROXY_URL | "" | Text, 255 characters | Mist Proxy URL. |
API_QUERY_LIMIT | "" | Integer | The number of limited queries made to the API. |
STREAM_INPUT | "" | Text, 255 characters | Mist API URL. |
MIST_CLOUD | "" | Text, 255 characters | Mist cloud name. |
MIST_ORGANIZATIONS | "" | Text, 255 characters | Comma separated list of organization IDs |
TOPOLOGY_POLLING_INTERVAL | "3600" | Text, 255 characters | Topology polling interval in seconds |
MIST_SECRET_NAME_OVERRIDE | "" | Text, 255 characters | Optional - Custom secret name |
MIST_SECRET_FILE_OVERRIDE | "" | Text, 255 characters | Optional - Custom secret file name |
Mist Poller Self-Monitoring Metrics
The Mist Poller microservice exposes the self-monitoring metrics described in the following table to Prometheus.
Metric Name | Type | Description |
---|---|---|
processing_time_of_discovery_request | Gauge | Time taken to poll and for hierarchical topology data per request |
number_of_devices_discovered_per_request | Gauge | Number of devices discovered per discovery request |
polling_time_of_availability_in_seconds | Gauge | Time taken to poll, process and send all topology data in seconds |
topology_total_api_calls | Gauge | Number of API calls made to collect topology |
discovery_request_total_api_calls | Gauge | Number of API calls made to collect data per discovery request |
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, topology_total_api_calls is stored as prom_topology_total_api_calls in the database.