• EnglishEspañol日本語한국어Português
  • Log inStart now

Set up Meraki Dashboard API monitoring

You can use New Relic's network monitoring agent to watch your Meraki environment.

Get started

Before you begin, make sure you have the New Relic, Docker, Meraki, and Network security prerequisites:

Network firewall rules

Direction

Source

Destination

Ports

Protocol

Required

Outbound

Docker host

ktranslate image on Docker Hub, Quay.io, or your company's internal repository.

443

TCP

Outbound

Docker host

New Relic Metric API Endpoint: https://metric-api.newrelic.com

443

TCP

Outbound

Docker host

New Relic Event API Endpoint: https://insights-collector.newrelic.com

443

TCP

Outbound

Docker host

New Relic Log API Endpoint: https://log-api.newrelic.com

443

TCP

Outbound

Docker host

Meraki Dashboard API endpoint: https://api.meraki.com/api/v1/

443 (default)

TCP

Installation

In your existing configuration file for the SNMP agent, manually add the Meraki device object. Replace the $YOUR_DASHBOARD_API_KEY with your Meraki Dashboard API key:

devices:
meraki_cloud_controller:
device_name: meraki_cloud_controller
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only: true
meraki_config:
api_key: "$YOUR_DASHBOARD_API_KEY"

Tip

This is a minimal example. Additional configuration options are available on the advanced configuration page.

Stop and remove the existing container:

bash
$
# find your current container
$
docker ps -a
$
$
# forcibly stop and delete the target container (you may also use the container ID here in place of the name)
$
docker rm -f $CONTAINER_NAME

Start a fresh container with the updated configuration file. Replace $CONTAINER_SERVICE with a unique name for the container and substitute$YOUR_NR_LICENSE_KEY and $YOUR_NR_ACCOUNT_ID with your values:

bash
$
# In this example, we are assuming the default configuration file name of 'snmp-base.yaml'
$
docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \
>
-v `pwd`/snmp-base.yaml:/snmp-base.yaml \
>
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE \
>
nr1.snmp

On a Linux host with Docker installed, use the text editor of your choice to create the configuration file you'll use to run the container. Replace $DASHBOARD_API_KEY with your Meraki Dashboard API key:

Example using vim:

bash
$
sudo vim meraki-base.yaml

File contents:

devices:
meraki_cloud_controller:
device_name: meraki_cloud_controller
device_ip: snmp.meraki.com
provider: meraki-cloud-controller
ext:
ext_only: true
meraki_config:
api_key: "$DASHBOARD_API_KEY"
trap: {}
discovery: {}
global:
poll_time_sec: 300
timeout_ms: 30000

Tip

This is a minimal example. Additional configuration options are available on the Advanced Configuration page.

Start the network monitoring agent to poll the Meraki Dashboard API. Replace $CONTAINER_SERVICE with a unique name for the container and substitute$YOUR_NR_LICENSE_KEY and $YOUR_NR_ACCOUNT_ID with your values:

bash
$
# In this example, we have saved our configuration file as 'meraki-base.yaml'
$
docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always -p 162:1620/udp \
>
-v `pwd`/meraki-base.yaml:/snmp-base.yaml \
>
-e NEW_RELIC_API_KEY=$YOUR_NR_LICENSE_KEY \
>
kentik/ktranslate:v2 \
>
-snmp /snmp-base.yaml \
>
-nr_account_id=$YOUR_NR_ACCOUNT_ID \
>
-metrics=jchf \
>
-tee_logs=true \
>
-service_name=$CONTAINER_SERVICE \
>
nr1.snmp

What's next

You can set up more agents to complement your Meraki environment data:


Did this doc help with your installation?

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.