Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel2
typeflat

...

Overview

Cisco Meraki offers the only solution that provides unified management of mobile devices, Macs, PCs, and the entire network from a centralized dashboard. Enforce device security policies, deploy software and apps, and perform remote, live troubleshooting on thousands of managed devices.

Cisco Meraki products are built from the ground up for cloud management and come out of the box with centralized management, layer 7 device and application visibility, real-time web-based diagnostics, monitoring, reporting, and much, much more.

Data source description

Source

Description

Devo data tables

Meraki organization changelog

Displays changes made in any network within the current Organization since it was created. This includes configuration changes made to all types of devices, not just administrative changes to the Dashboard. Each time a change is made an event in the ChangeLog will be generated.

cloud.meraki.api.changelog

MX security events

Display security events generated by MX Appliances for each existing network.
These events are logged as a result of the Connection Monitoring tests failing.

network.meraki.api.security_events

Appliance/Switch/Wireless Event Log

Display network events generated by all managed MR/SM/MS/MV devices for each existing network.

 network.meraki.api.events

Info

For more info about the Cisco Meraki, visit the Cisco Meraki user guide.

...

Vendor setup

Meraki collector works over the API to retrieve the data, so is needed to enable the access via API Key and generate a Key to allow the collector to get the data following the steps below:

Rw step

Log in to your Meraki account

Rw step

Go to Organization → Settings.

...

Go to the API Access Dashboard and tick the checkbox Enable access to the Cisco Meraki Dashboard API.

...

Rw step

Search API access and ensure that it is checked.

...

Rw step

Once you have enabled access to the API,

...

you need to create the API Key. To do this, click the profile link shown below the checkbox

...

or go to the User and click My profile.

Image AddedImage Added
Rw step

Search for API Access API Keys and click on Generate

...

API Key.

...

Note
  • If Meraki dashboard IP filtering is enabled, make sure to allow access for the collector IP or IP range.

  • Be careful, the API key will inherit the permissions of the user who creates it, so it must be created with a user with at least "organization - read only" permissions.

...

Rw ui tabs macro
Rw tab
titleCloud collector

We use a piece of software called Collector Server to host and manage all our available collectors. If you want us to host this collector for you, get in touch with us and we will guide you through the configuration.

Rw tab
titleOn-premise collector

This data collector can be run in any machine that has the Docker service available because it should be executed as a docker container. The following sections explain how to prepare all the required setup for having the data collector running.

Structure

The following directory structure should be created for being used when running the Cisco Meraki collector:

Code Block
<any_directory>
└── devo-collectors/
    └── cisco_meraki/
        ├── certs/
        │   ├── chain.crt
        │   ├── <your_domain>.key
        │   └── <your_domain>.crt
        └── config/ 
            └── config-cisco_meraki.yaml

Devo certificates

In Devo, go to Administration → Credentials → X.509 Certificates, download the Certificate, Private key and Chain CA and save them in <any directory>/devo-collectors/cisco_meraki/certs. Learn more about security credentials in Devo here.

Editing the config-cisco_meraki.yaml file

In the config-cisco_meraki.yaml file, replace the <short_unique_identifier>, <api_key> values and enter the ones that retrieved in the previous steps. In the <short_unique_identifier> placeholder, enter the chosen value.

Code Block
globals:
  debug: false
  id: not_used
  name: cisco_meraki
  persistence:
    type:  filesystem                                              # File system persistence ON
    idconfig:
not_used    name:  cisco_meraki
  persistencedirectory_name: state                                                               # Directory where the persistence will be saved in case of using filesystem
outputs:
   typedevo_1: filesystem     config:       directory_name: state                                        # Cloud          # Cloud Devo Devo config EU (for US use us.elb.relay.logtrust.net)
outputs:    type: devo_1:platform
    typeconfig: devo_platform       config:
      address: eu.elb.relay.logtrust.net
      port: 443
      type: SSL
      chain: chain.crt
      cert: <your_domain>.crt
      key: <your_domain>.key
inputs:
  cisco_meraki:
    portid: 443<short_unique_identifier>       type: SSL       chain: chain.crt       cert: <your_domain>.crt      # The key: <your_domain>.key
inputs:
  cisco_meraki:
    id: <short_unique_identifier> value of this field will be used internally for having independent persistence areas
    enabled: true
    requests_per_second: 5                                # The value of this field# willSetup behow usedmany internallyrequest forAPI havingpor independentsecond
persistence areas     enabledservices: true     debug: true     requests_per_second: 5                                                   # Setting up requests per second. 5 recommended.
    services:																 # Services available for this collector are Alerts, Secure Score and Secure score control profile
      network-events:
        api_key: '<api_key>'                                   #              # API API Key obtained in the Meraki profile
        start_time: '2021-01-01T00:00:00.000000Z'                            # Collector Initial time.
      security_-events:
        api_key: '<api_key>'                                                 # API Key obtained in the Meraki profile
        start_time: '2021-01-01T00:00:00.000000Z'              # Collector Initial time.
      changelog:
    # Collector Initial time.  api_key: '<api_key>'                      changelog:         api_key: '<api_key>'  												 # API Key obtained in the Meraki profile
 		start_time:        start_time: '2021-01-01T00:00:00.000000Z'                            # Collector Initial time.
      
Note

The “start_time” fields must have the following format:

Alerts “start_time” format: 0000-00-00T00:00:00.000Z

Note

The Security-events Service may generate error logs if you do not have an MX appliance.

Download the Docker image

The collector should be deployed as a Docker container. Download the Docker image of the collector as a .tgz file by clicking the link in the following table:

Collector Docker image

SHA-256 hash

collector-cisco-meraki-docker-image-1.3.67.tgz

a915ba1708713d6e3022f8e63e98ca78099ec93275dbb649495e4c4c3d420a2c2c768387362849ea7c3038e3291bb2d66392a7aaebf6b68681a5006953ed57a4

Use the following command to add the Docker image to the system:

Code Block
gunzip -c collector-cisco-meraki-docker-image-<version>.tgz | docker load

Once the Docker image is imported, it will show the real name of the Docker image (including version info). Replace "<version>" with a proper value.

The Docker image can be deployed on the following services:

Docker

Execute the following command on the root directory <any_directory>/devo-collectors/cisco_meraki/

Code Block
docker run \
--name collector-cisco_meraki \
--volume $PWD/certs:/devo-collector/cisco_meraki/certs \
--volume $PWD/config:/devo-collector/cisco_meraki/config \
--volume $PWD/state:/devo-collector/cisco_meraki/state \
--env CONFIG_FILE=config-cisco_meraki.yaml \
--rm -it docker.devo.internal/collector/meraki_collector:<version>
Note

Replace <version> with the required value.

Docker Compose

The following Docker Compose file can be used to execute the Docker container. It must be created in the <any_directory>/devo-collectors/cisco_meraki/ directory.

Code Block
version: '3'
services:
  collector-cisco_meraki:
    buildimage:       context: .
      dockerfile: Dockerfile
    image: docker.devo.internal/collectordocker.devo.internal/collector/meraki_collector:${IMAGE_VERSION:-latest}
    container_name: collector-cisco_meraki
    volumes:
      - ./certs:/devo-collector/cisco_meraki/certs
      - ./config:/devo-collector/cisco_meraki/config
      - ./state:/devo-collector/cisco_meraki/state
    environment:
      - CONFIG_FILE=${CONFIG_FILE:-config-cisco_meraki.yaml}

To run the container using docker-compose, execute the following command from the <any_directory>/devo-collectors/cisco_meraki/ directory:

Code Block
IMAGE_VERSION=<version> docker-compose up -d
Note

Replace <version> with the required value <version> with the required value.

Activeboards

A number of predefined dashboards that make use of the configured collectors can be downloaded here. To instantiate them, follow these instructions:

  1. Create a new Devo Activeboard in your domain.

  2. In edit mode, click on the ellipsis button and select Edit raw configuration.

  3. Open the downloaded file, select all the text, and copy it to the clipboard.

  4. Paste the contents of the file in the raw editor. Make sure you replace completely the existing configuration.

  5. Click on Save changes. The dashboard should show up immediately.

Change log for 1.x.x

Release

Released on

Release type

Details

Recommendations

v1.3.0

Status
colourPurple
titleFEATURE
Status
colourYellow
titleVULNS
Status
colourGreen
titleIMPROVEMENTS

New features:

  • The resilience has been improved with a new feature that restart the collector when the Devo connections is lost and it cannot be recovered.

Improvements:

  • The underlay IFC SDK has been updated to v1.1.3.

Vulnerabilities mitigation:

  • All critical and high vulnerabilities have been mitigated.

Upgrade

v1.3.2

Status
colourYellow
titleVULNS

Vulnerabilities mitigation:

  • All critical and high vulnerabilities have been mitigated.

Upgrade

v1.3.4

Status
colourGreen
titleIMPROVEMENTS
Status
colourRed
titleBUG FIX

Improvements:

  • When the Meraki API returns an HTTP CODE 429 (Too many requests), the collector handle it to avoid overflooding.

Bug fixes:

  • Some error messages were logged at the debug level and are now logged at the error level correctly.

Upgrade

v1.3.5

Status
colourGreen
titleIMPROVEMENTS
Status
colourRed
titleBUG FIX

Improvements:

  • The number of debug traces has been increased to provide better visibility when troubleshooting.

Bug fixes:

  • Logging AssertionError trace thrown when requesting invalid product types from networks without those product types is now logged in debug level.

Upgrade

v1.3.6

Status
colourGreen
titleIMPROVEMENTS
Status
colourRed
titleBUG FIX

Improvements:

  • The number of debug traces has been increased to provide better visibility when troubleshooting.

  • The network_security_events (MX) service has been enhanced with new logic that avoids requesting MX events from networks without MX appliances. This reduces the number of unnecessary API requests to Meraki that were returning 400 HTTP CODE.

  • Meraki Python package has been upgraded from v1.18.2 to v1.22.1

  • The events are sent to Devo in batches, increasing the performance.

Bug fixing:

  • Fixed a bug where the data extraction services via network_event_log and network_security_events stopped pulling events after retrieving the first page of 1,000 events. This behavior was causing some delay in the ingest in networks with a high volume of events.

  • Fixed how persistence of the network_security_events service is handled and it now stores a unique save point for each available network instead of one for all networks.

  • Fixed a bug where events were being sent to Devo without proper ordering. Now all events are ordered from the origin by the API.

Upgrade

v1.3.7

Status
colourRed
titleBUG FIX

Bug fixing:

  • Fixed a bug in the security-events service (MX events) when no new events are received.

Recommended version