New Relic のネットワーク監視エージェントを使用して、Meraki 環境を監視できます。
始めましょう
始める前に、New Relic、Docker、Meraki、およびネットワークのセキュリティの前提条件を満たしていることを確認してください。
New Relic アカウント。
New Relic
。
コマンドライン経由で新しいコンテナを起動する機能。
認証用のMeraki ダッシュボード API キー 。
ネットワークファイアウォールルール
方向 | ソース | 行き先 | ポート | プロトコル | 必須 |
---|---|---|---|---|---|
アウトバウンド | コンテナホスト |
| 443 | TCP | ✓✓ |
アウトバウンド | コンテナホスト | New Relic メトリクス APIエンドポイント: | 443 | TCP | ✓✓ |
アウトバウンド | コンテナホスト | New Relic イベント APIエンドポイント: | 443 | TCP | ✓✓ |
アウトバウンド | コンテナホスト | New Relic ログ APIエンドポイント: | 443 | TCP | |
アウトバウンド | コンテナホスト | Meraki ダッシュボード APIエンドポイント: | 443 (デフォルト) | TCP | ✓✓ |
インストール
Meraki ダッシュボードAPI監視を既存の SNMP コンテナーに追加することも、専用のコンテナーにデプロイして他の SNMP デバイスとは分離しておくこともできます。 使用ケースに最も適した以下のオプションを選択してください。
SNMP エージェントの既存の設定ファイルに、Meraki デバイス オブジェクトを手動で追加します。
$DASHBOARD_API_KEY
を Meraki ダッシュボード API キーに置き換えます。devices:meraki_cloud_controller:device_name: meraki_cloud_controllerdevice_ip: snmp.meraki.comprovider: meraki-cloud-controllerext:ext_only: truemeraki_config:api_key: "$DASHBOARD_API_KEY"ヒント
これは基本的な例です。 追加の設定オプションについては、高度な設定ドキュメントをご覧ください。
既存のコンテナを停止して削除します。
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更新された設定ファイルを使用して新しい コンテナを起動します。
$CONTAINER_SERVICE
をコンテナーの一意の名前に置き換え、$YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を任意の値に置き換えます。 この例では、デフォルトの設定ファイルの名前が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
dockerがインストールされている Linux ホストで、任意のテキスト エディターを使用して、コンテナーの実行に使用する設定ファイルを作成します。
$DASHBOARD_API_KEY
をMeraki ダッシュボード API キーに置き換えます。vimを使用した例:
bash$sudo vim meraki-base.yamlファイルの内容:
devices:meraki_cloud_controller:device_name: meraki_cloud_controllerdevice_ip: snmp.meraki.comprovider: meraki-cloud-controllerext:ext_only: truemeraki_config:api_key: "$DASHBOARD_API_KEY"trap: {}discovery: {}global:poll_time_sec: 300timeout_ms: 30000ヒント
これは基本的な例です。 追加の設定オプションについては、高度な設定ドキュメントをご覧ください。
ネットワーク監視エージェントを起動して、Meraki ダッシュボードAPIをポーリングします。
$CONTAINER_SERVICE
をコンテナーの一意の名前に置き換え、$YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を任意の値に置き換えます。 この例では、設定ファイルを「meraki-base.yaml」として保存しました。bash$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 \>-snmp_discovery_on_start=true \>-snmp_discovery_min=180 \>nr1.snmp
SNMP エージェントの既存の設定ファイルに、Meraki デバイス オブジェクトを手動で追加します。
$DASHBOARD_API_KEY
を Meraki ダッシュボード API キーに置き換えます。devices:meraki_cloud_controller:device_name: meraki_cloud_controllerdevice_ip: snmp.meraki.comprovider: meraki-cloud-controllerext:ext_only: truemeraki_config:api_key: "$DASHBOARD_API_KEY"ヒント
これは基本的な例です。 追加の設定オプションについては、高度な設定ドキュメントをご覧ください。
既存のコンテナを停止して削除します。
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更新された設定ファイルを使用して新しい コンテナを起動します。
$CONTAINER_SERVICE
をコンテナーの一意の名前に置き換え、$YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を任意の値に置き換えます。 この例では、デフォルトの設定ファイル名を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重要
トラップ メッセージのパケット リダイレクトを処理するための
iptables
ルールをまだ作成していない場合は、次のコマンドを使用して作成する必要があります。bash$sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
Podman がインストールされている Linux ホストで、任意のテキスト エディターを使用して、コンテナーの実行に使用する設定ファイルを作成します。
$DASHBOARD_API_KEY
をMeraki ダッシュボード API キーに置き換えます。vimを使用した例:
bash$sudo vim meraki-base.yamlファイルの内容:
devices:meraki_cloud_controller:device_name: meraki_cloud_controllerdevice_ip: snmp.meraki.comprovider: meraki-cloud-controllerext:ext_only: truemeraki_config:api_key: "$DASHBOARD_API_KEY"trap: {}discovery: {}global:poll_time_sec: 300timeout_ms: 30000ヒント
これは基本的な例です。 追加の設定オプションについては、高度な設定ドキュメントをご覧ください。
ネットワーク監視エージェントを起動して、Meraki ダッシュボードAPIをポーリングします。
$CONTAINER_SERVICE
をコンテナーの一意の名前に置き換え、$YOUR_NR_LICENSE_KEY
と$YOUR_NR_ACCOUNT_ID
を任意の値に置き換えます。 この例では、設定ファイルを「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 \>-snmp_discovery_on_start=true \>-snmp_discovery_min=180 \>nr1.snmp重要
トラップ メッセージのパケット リダイレクトを処理するための
iptables
ルールをまだ作成していない場合は、次のコマンドを使用して作成する必要があります。bash$sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
次のステップ
Meraki 環境データを補完するために、さらに多くのエージェントをセットアップできます。
- ネットワークがどのように使用されているかをよりよく把握するには、ネットワーク フロー データの監視を設定します。
- デバイスからシステムメッセージを洞察するには、 ネットワークsyslogコレクションを設定します。