Cisco Meraki Poller Microservice
Overview
The Cisco Meraki Poller microservice is created to poll topology, metric and event data from Cisco Meraki via the API using an API Key. It collects data at regular intervals, normalizes it and writes it to topics from which graph-sink, metric-sink and event-sink will ingest the data. Cisco Meraki has an API rate limited to 5 calls per second per organization. Topology is polled every 24 hours, metrics are polled every 15 minutes and events are polled every 5 minutes.
Prerequisites
-
A microservices cluster must be setup. Refer to Microservice Cluster Setup.
-
Apache Pulsar must be installed. Refer to Apache Pulsar microservice.
-
The following core microservices must be installed:
-
Meraki API URL and API Key to fetch data from.
Setup
su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
a1helm install cisco-meraki-poller assure1/cisco-meraki-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. |
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. |
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. |
MERAKI_API_URL | "https://api.meraki.com/api/" | Text, 255 characters | Meraki API URL. |
MERAKI_API_KEY | "fffffffffffffff0000000000000000000000000" | Text, 255 characters | Meraki API key. |
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. |
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