New Relic의 네트워크 모니터링 에이전트를 사용하여 Meraki 환경을 감시할 수 있습니다.
시작하다
시작하기 전에 뉴렐릭, docker, Podman, Meraki 및 네트워크 보안 필수 구성 요소가 있는지 확인하세요.
- New Relic 계정.
- 뉴렐릭 .
- Linux 호스트에 설치된 Docker 또는 Podman .
- 명령줄을 통해 새 컨테이너를 시작하는 기능.
- 인증을 위한 Meraki 대시보드 API 키 .
네트워크 방화벽 규칙
방향 | 원천 | 목적지 | 항구 | 규약 | 필수의 |
---|---|---|---|---|---|
배 밖으로 | 컨테이너 호스트 |
| 443 | TCP | ✓ |
배 밖으로 | 컨테이너 호스트 | New Relic Metric API 엔드포인트: | 443 | TCP | ✓ |
배 밖으로 | 컨테이너 호스트 | New Relic 이벤트 API 끝점: | 443 | TCP | ✓ |
배 밖으로 | 컨테이너 호스트 | New Relic 로그 API 끝점: | 443 | TCP | |
배 밖으로 | 컨테이너 호스트 | Meraki 대시보드 API 엔드포인트: | 443(기본값) | TCP | ✓ |
설치
Meraki 대시보드 API 모니터링을 기존 SNMP 컨테이너에 추가하거나 전용 컨테이너에 구현, 배포하고 다른 SNMP 장치와 별도로 유지할 수 있습니다. 아래에서 사용 사례에 가장 적합한 옵션을 선택하세요.
SNMP 에이전트에 대한 기존 설정 파일에서 Meraki 장치 개체를 수동으로 추가합니다.
$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: "$MERAKI_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 호스트에서 원하는 텍스트 편집기를 사용하여 컨테이너를 실행하는 데 사용할 설정 파일을 만듭니다.
$MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"trap: {}discovery: {}global:poll_time_sec: 300timeout_ms: 30000팁
이것은 기본적인 예입니다. 고급 설정 문서 에서 추가 설정 옵션을 찾을 수 있습니다.
필요에 따라 docker가 변경할 수 있도록 파일 권한을 업데이트하세요.
bash$chown 1000:1000 meraki-base.yamlMeraki 대시보드 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 --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
SNMP 에이전트에 대한 기존 설정 파일에서 Meraki 장치 개체를 수동으로 추가합니다.
$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: "$MERAKI_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 호스트에서 원하는 텍스트 편집기를 사용하여 컨테이너를 실행하는 데 사용할 설정 파일을 만듭니다.
$MERAKI_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: "$MERAKI_DASHBOARD_API_KEY"trap: {}discovery: {}global:poll_time_sec: 300timeout_ms: 30000팁
이것은 기본적인 예입니다. 고급 설정 문서 에서 추가 설정 옵션을 찾을 수 있습니다.
Podman이 필요에 따라 변경할 수 있도록 파일 권한을 업데이트하세요.
bash$chown 1000:1000 meraki-base.yamlMeraki 대시보드 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 \>nr1.snmp중요
트랩 메시지에 대한 패킷 리디렉션을 처리하기 위한
iptables
규칙을 아직 생성하지 않은 경우 다음 명령을 사용하여 생성해야 합니다.bash$sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
무엇 향후 계획
Meraki 환경 데이터를 보완하기 위해 더 많은 에이전트를 설정할 수 있습니다.
네트워크가 어떻게 사용되는지 더 잘 파악하려면네트워크 흐름 데이터 모니터링을 설정하세요.
장치에서 시스템 메시지에 대한 통찰력을 얻으려면 네트워크 syslog 수집을 설정 하십시오.