Cisco Meraki Poller¶
The Cisco Meraki Poller microservice polls event, topology,and metric data from Cisco Meraki devices by API using an API Key. It collects data at regular intervals, normalizes it, and writes it to topics from which to which the Graph Sink, Metric Sink, and Event Sink microservices are subscribed.
Cisco Meraki has an API rate limited to five calls per second per organization. Topology is polled every 24 hours, metrics are polled every 15 minutes and events are polled every 5 minutes.
This microservice is part of the Event, Topology, and Metric microservice pipelines. See Understanding Microservice Pipelines in Unified Assurance Concepts for conceptual information about microservice pipelines.
You can enable redundancy for this microservice when you deploy it. See Configuring Microservice Redundancy for general information.
Cisco Meraki Poller Prerequisites¶
Before deploying the Cisco Meraki Poller microservice, confirm that the following prerequisites are met:
-
A microservice cluster is set up. See Microservice Cluster Setup.
-
The following microservices are deployed:
-
You know the Meraki API URL and API Key for your system.
-
You have created a Kubernetes secret containing the Meraki API token by running the following command as the assure1 user:
export NAMESPACE=<namespace> a1k create secret generic meraki-api-key-secret --from-literal=meraki-api-keys=<base64EncodedApiKey> -n $NAMESPACE
where <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.
You can optionally use a different secret name and file. If you do so, set them in the configData.SECRET_FILE_OVERRIDE and configData.SECRET_NAME_OVERRIDE configuration parameters when you deploy the microservice.
Deploying Cisco Meraki Poller¶
To deploy the microservice, run the following commands:
su - assure1
export NAMESPACE=<namespace>
export WEBFQDN=<webFQDN>
a1helm install <microservice-release-name> assure1/cisco-meraki-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN
In the commands:
-
<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 (cisco-meraki-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 Cisco Meraki 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 Cisco Meraki Poller Configuration by adding --set configData.<parameter_name>=<parameter_value>. For example, --set configData.LOG_LEVEL=DEBUG.
-
Enable redundancy for the microservice by adding --set redundancy.enabled=true.
Default Cisco Meraki Poller Configuration¶
The following table describes the default configuration parameters found in the Helm chart under configData for the Cisco Meraki Poller microservice.
Name | Default Value | Possible Values | Notes |
---|---|---|---|
LOG_LEVEL | INFO | FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
PULSAR_STREAM | pulsar+ssl://pulsar-broker.a1-messaging.svc.cluster.local | Text, 255 characters | Apache Pulsar topic path. Topic at end of path may be any text value. |
PULSAR_PORT | "6651" | Integer | The Pulsar port. |
PULSAR_CERT_TRUST | /certs/a1/BundleCA.crt | String | The SSL CA Bundle for Pulsar. |
PULSAR_CERT_PATH | /certs/a1/User-assure1.crt | String | The assure1 user's SSL certificate for Pulsar. |
PULSAR_CERT_KEY | /certs/a1/User-assure1.key | String | The assure1 user's SSL certificate key for Pulsar. |
TLS_CA | /certs/a1/BundleCA.crt | String | The TLS CA Bundle. |
TLS_CERT | /certs/a1/User-assure1.crt | String | The assure1 user's TLS certificate. |
TLS_CERT_KEY | /certs/a1/User-assure1.key | String | The assure1 user's TLS certificate key. |
STREAM_OUTPUT_METRIC | persistent://assure1/metric/sink | Text, 255 characters | Metric sink topic path. |
STREAM_OUTPUT_GRAPH | persistent://assure1/graph/sink | Text, 255 characters | Graph sink topic path. |
STREAM_OUTPUT_EVENT | persistent://assure1/event/sink | Text, 255 characters | Event sink topic path. |
STREAM_INPUT | "https://api.meraki.com/api/" | Text, 255 characters | Meraki API URL. |
METRIC_POLLING_INTERVAL | "15" | Integer | Time in minutes between polls of the metrics data. |
EVENT_POLLING_INTERVAL | "300" | Integer | Time in seconds between polls of the event data. |
TOPOLOGY_TIMER | "00:00" | Text in Hours:Minutes format | Time in Hours : Minutes to poll topology data. |
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. |
SECRET_NAME_OVERRIDE | "" | Text, 255 characters | Custom secret name if required |
SECRET_FILE_OVERRIDE | "" | Text, 255 characters | Custom secret filename if required |