Você pode usar o Monitoramento de rede agente da New Relic para monitorar seu ambiente Meraki.
Iniciar
Antes de começar, certifique-se de ter os pré-requisitos de segurança do New Relic, docker, Podman, Meraki e Network:
- Uma conta New Relic .
- Uma New Relic .
- Docker ou Podman instalado em um host Linux.
- Possibilidade de lançamento de novos contêineres via linha de comando.
- Chave de API do painel Meraki para autenticação.
Regras de firewall de rede
Direção | Fonte | Destino | Portas | Protocolo | Obrigatório |
---|---|---|---|---|---|
Saída | Hospedeiro de contêiner |
| 443 | TCP | ✓ |
Saída | Hospedeiro de contêiner | New Relic API endpoint API Relic métrica: | 443 | TCP | ✓ |
Saída | Hospedeiro de contêiner | New Relic API endpoint API de evento Relic: | 443 | TCP | ✓ |
Saída | Hospedeiro de contêiner | API endpoint da API Relic Logs: | 443 | TCP | |
Saída | Hospedeiro de contêiner | Meraki dashboard API endpoint: | 443 (padrão) | TCP | ✓ |
instalação
Você pode dashboard API adicionar o monitoramento Meraki a um contêiner SNMP existente ou implantá-lo em um contêiner dedicado e mantê-lo separado de seus outros dispositivos SNMP. Selecione a opção abaixo que melhor corresponde ao seu caso de uso:
No seu arquivo de configuração existente para o agente SNMP, adicione manualmente o objeto de dispositivo Meraki. Substitua
$MERAKI_DASHBOARD_API_KEY
pela chave de APIdo seu painel Meraki: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"Dica
Este é um exemplo básico. Você pode encontrar opções de configuração adicionais em nosso documento de configuração avançada.
Pare e remova o contêiner existente:
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_NAMEInicie um novo contêiner com o arquivo de configuração atualizado. Substitua
$CONTAINER_SERVICE
por um nome exclusivo para o contêiner e substitua$YOUR_NR_LICENSE_KEY
e$YOUR_NR_ACCOUNT_ID
pelos seus valores. Neste exemplo, presume-se que o arquivo de configuração padrão tenha o nomesnmp-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
Em um host Linux com o docker instalado, use o editor de texto de sua escolha para criar o arquivo de configuração que você usará para executar o contêiner. Substitua
$MERAKI_DASHBOARD_API_KEY
pela chave de APIdo seu painel Meraki.Exemplo usando vim:
bash$sudo vim meraki-base.yamlConteúdo do arquivo:
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: 30000Dica
Este é um exemplo básico. Você pode encontrar opções de configuração adicionais em nosso documento de configuração avançada.
Atualize as permissões do arquivo para permitir que o docker faça alterações conforme necessário:
bash$chown 1000:1000 meraki-base.yamlInicie o agente de monitoramento de rede para pesquisar a Meraki.dashboard API Substitua
$CONTAINER_SERVICE
por um nome exclusivo para o contêiner e substitua$YOUR_NR_LICENSE_KEY
e$YOUR_NR_ACCOUNT_ID
pelos seus valores. Neste exemplo, salvamos nosso arquivo de configuração como ‘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
No seu arquivo de configuração existente para o agente SNMP, adicione manualmente o objeto de dispositivo Meraki. Substitua
$MERAKI_DASHBOARD_API_KEY
pela chave de APIdo seu painel Meraki: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"Dica
Este é um exemplo básico. Você pode encontrar opções de configuração adicionais em nosso documento de configuração avançada.
Pare e remova o contêiner existente:
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_NAMEInicie um novo contêiner com o arquivo de configuração atualizado. Substitua
$CONTAINER_SERVICE
por um nome exclusivo para o contêiner e substitua$YOUR_NR_LICENSE_KEY
e$YOUR_NR_ACCOUNT_ID
pelos seus valores. Neste exemplo, estamos assumindo o nome do arquivo de configuração padrãosnmp-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.snmpImportante
Se você ainda não criou uma regra
iptables
para lidar com o redirecionamento de pacotes para mensagens trap, será necessário fazer isso com o comando:bash$sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
Em um host Linux com o Podman instalado, use o editor de texto de sua escolha para criar o arquivo de configuração que você usará para executar o contêiner. Substitua
$MERAKI_DASHBOARD_API_KEY
pela chave de APIdo seu painel Meraki.Exemplo usando vim:
bash$sudo vim meraki-base.yamlConteúdo do arquivo:
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: 30000Dica
Este é um exemplo básico. Você pode encontrar opções de configuração adicionais em nosso documento de configuração avançada.
Atualize as permissões do arquivo para permitir que o Podman faça alterações conforme necessário:
bash$chown 1000:1000 meraki-base.yamlInicie o agente de monitoramento de rede para pesquisar a Meraki.dashboard API Substitua
$CONTAINER_SERVICE
por um nome exclusivo para o contêiner e substitua$YOUR_NR_LICENSE_KEY
e$YOUR_NR_ACCOUNT_ID
pelos seus valores. Neste exemplo, salvamos nosso arquivo de configuração como ‘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.snmpImportante
Se você ainda não criou uma regra
iptables
para lidar com o redirecionamento de pacotes para mensagens trap, será necessário fazer isso com o comando:bash$sudo iptables -t nat -A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 1620
Qual é o próximo
Você pode configurar mais agentes para complementar os dados do seu ambiente Meraki:
Para obter melhor visibilidade sobre como sua rede é usada, configure o monitoramento de dados de fluxo de rede.
Para obter insights sobre mensagens do sistema dos seus dispositivos, configure a coleta de syslog de rede.