• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Set up Meraki Dashboard API monitoring

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

A screenshot showing the meraki dashboard UI in New Relic

Get started

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

Network firewall rules

Direction

Source

Destination

Ports

Protocol

Required

Outbound

Container host

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

443

TCP

Outbound

Container host

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

443

TCP

Outbound

Container host

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

443

TCP

Outbound

Container host

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

443

TCP

Outbound

Container host

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

443 (default)

TCP

Installation

You can add Meraki Dashboard API monitoring to an existing SNMP container, or deploy it in a dedicated container and keep it separate from your other SNMP devices. Select the option below that best matches your use case:

  1. In your existing configuration file for the SNMP agent, manually add the Meraki device object. Replace $MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"

    Dica

    This is a basic example. You can find additional configuration options in our advanced configuration doc.

  2. 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
  3. 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. In this example, it's assumed the default configuration file has the name snmp-base.yaml:

    bash
    $
    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 \
    >
    -snmp_discovery_on_start=true \
    >
    -snmp_discovery_min=180 \
    >
    nr1.snmp
  1. 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 $MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"
    trap: {}
    discovery: {}
    global:
    poll_time_sec: 300
    timeout_ms: 30000

    Dica

    This is a basic example. You can find additional configuration options in our advanced configuration doc.

    Update file permissions to allow Docker to make changes as needed:

    bash
    $
    chown 1000:1000 meraki-base.yaml
  2. 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. In this example, we've saved our configuration file as 'meraki-base.yaml':

    bash
    $
    docker run -d --name ktranslate-$CONTAINER_SERVICE --restart unless-stopped --pull=always --net=host \
    >
    -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
  1. In your existing configuration file for the SNMP agent, manually add the Meraki device object. Replace $MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"

    Dica

    This is a basic example. You can find additional configuration options in our advanced configuration doc.

  2. Stop and remove the existing container:

    bash
    $
    # Find your current container
    $
    podman ps -a
    $
    $
    # Forcibly stop and delete the target container (you may also use the container ID here in place of the name)
    $
    podman rm -f $CONTAINER_NAME
  3. 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. In this example, we're assuming the default configuration file name of snmp-base.yaml:

    bash
    $
    podman run -d --name ktranslate-$CONTAINER_SERVICE --userns=keep-id --restart unless-stopped --pull=always --net=host \
    >
    -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 \
    >
    -snmp_discovery_on_start=true \
    >
    -snmp_discovery_min=180 \
    >
    nr1.snmp

    Importante

    If you haven't already created an iptables rule to handle packet redirection for trap messages, you will need to do so with the command:

    bash
    $
    sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
  1. On a Linux host with Podman installed, use the text editor of your choice to create the configuration file you'll use to run the container. Replace $MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"
    trap: {}
    discovery: {}
    global:
    poll_time_sec: 300
    timeout_ms: 30000

    Dica

    This is a basic example. You can find additional configuration options in our advanced configuration doc.

    Update file permissions to allow Podman to make changes as needed:

    bash
    $
    chown 1000:1000 meraki-base.yaml
  2. 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. In this example, we have saved our configuration file as 'meraki-base.yaml':

    bash
    $
    podman run -d --name ktranslate-$CONTAINER_SERVICE --userns=keep-id --restart unless-stopped --pull=always --net=host \
    >
    -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

    Importante

    If you haven't already created an iptables rule to handle packet redirection for trap messages, you will need to do so with the command:

    bash
    $
    sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620

What's next

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


Este documento ajudou você na instalação?

Copyright © 2024 New Relic Inc.

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