Merakibeat

This is an Elastic Beats plugin for the Meraki Wireless Health API.

Meraki exposes a set of Dashboard API endpoints to identify the health of network devices and clients.

Key Metrics

  • Connection Stats
    • Success : Total number of successful connection
    • Assoc : Number of connections in Association state
    • Auth : Number of connections in Authetication state
    • DHCP : Number of connections in DHCP ip assignmnet stage
    • DNS : Number of connections in DNS check stage
  • Latency Stats : Latency in miliseconds for packet transfer
    • latencyTime: Packet count
    • latencyTime is provided for 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 & 2048 miliseconds.

How it Works

This beats plugin polls the Meraki API for these health stats and allows sending Stats
to elasticsearch or any of ouput service supported by
beats. (https://www.elastic.co/guide/en/logstash/current/output-plugins.html).

This pipeline enables analyzing Mearki health data with other enterprise data like Point Of Sales,
to identify relation between network status and revenue impact.

MerakiBeat pipeline

 POSBeat plugin mentioned in above diagram is to collect sales data, this is custom non-generic plugin can not be open sourced. POS simulator & posbeat docker images are listed in docker-compose for reference.

 

Show me the Data

Sample kibana dashboard included as part of docker compose

MerakiBeat sample dashboard

Configuring MerakiBeats plugin

Supports the following plugin specific configs in the merakibeat.yml file.

  • period: Polling interval , recommended value 300s to 600s
  • merakihost: URL for Meraki API endpoint in format, http://localhost:5050
  • merakikey: Meraki API key secret
  • merakinewtorkids: Network IDs to be monitored by this plugin format, [“ABC”, “XYZ”]
  • merakiorgid: ID of Meraki oragnization

The following are fields to control sections that will be collected by the data collector
‘1’ represent data will be collected and ‘0’ means data will be skipped.

  • nwconnstat: 1
  • nwlatencystat: 1
  • devconnstat: 0
  • devlatencystat: 0
  • clconnstat: 0
  • cllatencystat: 0

These fields can be configured for enabling the Meraki Scanning API receiver

  • scanEnable : 1
  • scanSecret : “simulator”
  • scanValidator : “EnterYourValidator”

Meraki Scanning API configuration

The Meraki Scanning API receiver will be exposed at the following URL.

http://<baseurl>:5001/api/v1/scanning/receiver/

 

<baseurl> could be http://publicip of host on which meraki beat is or user can configures dns name for assigned IP.

The endpoint will need to be applied to the Meraki Dashboard Network. For more information, check out this guide.

Secret and validator from above registration process must be set in above merakibeat.yml config file.

Running merakibeat

As docker-composer (Recommended)

https://github.com/CiscoDevNet/merakibeat/raw/master/docker-compose/README.md

As binary

merakibeats -e -d *

Building Source code

https://github.com/CiscoDevNet/merakibeat/raw/master/DEVELOPMENT.md

 

 

Created with love by the Cisco DevNet team