O Cisco Meraki é um conjunto de soluções de rede gerenciadas pela internet que permite uma única fonte de gerenciamento sobre locais, infraestrutura e dispositivos. Componentes incluem uma solução completa de TI gerenciada por nuvem para atendimento as soluções de wireless, switching, segurança, gerenciamento de dispositivos móveis (MDM) e comunicações, integrando o hardware, software e a nuvem.
Há cinco maneiras pelas quais uma aplicação pode estender as funcionalidades da plataforma Meraki:
- A Dashboard API, que fornece um serviço RESTful para provisionamento, gerenciamento e monitoramento de dispositivos.
- Alertas de webhook, um serviço que permite atualizações em tempo real da saúde e configuração da rede.
- A API de localização, um método HTTP POST configurado no Meraki Dashboard que fornece informações de localização do cliente (GPS, X/Y) com base no posicionamento do mapa do Meraki Access Point (AP) e na intensidade do sinal do cliente.
- O External Captive Portal (EXCAP), que permite que uma organização crie modelos de engajamento personalizados para dispositivos que aproveitam seu ambiente WiFi.
- MV Sense, que oferece chamadas de API REST e fluxo de dados em tempo real para aproveitamento das câmeras MV12
O ambiente “Meraki DevNet Always On Read Only Sandbox” fornece um ambiente de desenvolvimento para validar e testar o ‘Cisco Meraki Dashboard’, Dashboard API, integração do Captive Portal, MV Sense, Webhook Alerts e Location Scanning.
Todas as chamadas de API são muito bem documentadas usando a especificação OpenAPI (Swagger interface). Há ótimo trabalho disponibilizando tudo como um Documento Postman, um recurso muito útil no desenvolvimento de uma API.
O Postman é uma ferramenta de desenvolvimento de API baseada no modelo web/cliente, perfeita para simular chamadas e explorar como funcionam determinadas APIs. A plataforma da Meraki está atualmente na sua API versão 1.x .
Qual o uso das APIs?
Existem muitos casos de uso para essas APIs, atendendo a requisitos de escalabilidade para os administradores e automatização para as redes Meraki. Os casos de uso comuns são:
- Provisionamento em massa (usando a API do painel)
- Monitoramento avançado (usando MV Sense e APIs MR)
- Automação de rede (usando chamadas MS)
- Integrações na nuvem (integrar Meraki com dispositivos de terceiros — com Cisco Umbrella, por exemplo)
Cisco Sandbox
O ambiente Cisco DevNet Sandbox permite que engenheiros, desenvolvedores, administradores de rede, arquitetos ou qualquer pessoa que queira desenvolver e testar as APIs, controladores, equipamentos de rede, suíte de colaboração e muito mais da ferramentas da Cisco, possa fazê-lo gratuitamente!
https://developer.cisco.com/site/sandbox/
Ambiente Meraki
Nesse post faremos um laboratório utilizando a infraestrutura Meraki (Meraki Always On).
Gere uma API key para aquela conta. Cada conta poderá ter até 2 API Keys.
Clique no seu Perfil (canto superior direito): My Profile -> API Access -> Clique em “Generate API Key” copie e armazene em local seguro.
Postman
Depois de seguir os passos acima, você pode começar a fazer chamadas de API para seu dashboard e dispositivos usando o Postman ou seus scripts Python.
Se você precisar de ajuda com o Postman, incluindo como importar a API Postman Meraki, confira: https://developer.cisco.com/meraki/build/meraki-postman-collection-getting-started/ com poucos cliques é possível instalar a Coleção “Meraki Dashboard API – v1”
Vamos fazer nossa primeira chamada de API e definir o escopo da nossa documentação da API, pois existem algumas maneiras de fazer isso:
- Você pode acessá-lo através do Meraki Dashboard: Clique em Help -> API Docs.
- Importe o documento de API mais recente do Postman para sua conta do Postman.
Após importar para sua conta você poderá ver quantas chamadas de API estão disponíveis e como ela está organizada, confira abaixo:
Escolha um request que você possa preencher facilmente com as informações que já possui (por enquanto só temos a chave da API, portanto precisamos de uma solicitação que exija apenas o valor da Chave da API), por exemplo, poderíamos listar todas as Organizações disponíveis no Chave de API que estamos usando, depois de inserir os campos obrigatórios no cabeçalho da API:
baseURL: https://api.meraki.com/api/v1
apiKey: ae829149e162f8dd0535ca5f0b98e96f1d3adc29 (a API key gerada )
1º Passo, crie um ambiente. Clique no ícone do olho na parte superior direita e “Add” para criar um novo ambiente.
2º Defina as variáveis. Adicione as informações baseURL e keyAPI
3º Execute o teste para coletar o ID do ambiente “DevNet Sandbox” dentro de “Organization” do ambiente Meraki.
Armado com essas informações, podemos começar a criar scripts e integrar nosso ambiente Meraki com outras ferramentas/plataformas.
Uma vez que coletamos a informação do ID da Organização, podemos atualizar as variáveis e coletar as informações de rede.
Por exemplo, podemos coletar o ID das redes.
Uma vez que coletamos a informação do ID da Rede, podemos atualizar as variáveis e coletar as informações de rede.
Por exemplo, podemos coletar as informações detalhadas dos equipamentos de rede, como endereço IP, serial, geolocalização, modelo, etc.
Coletar os SSIDs da rede:
Visualizando o mesmo SSID no ambiente Meraki:
Com o método PUT podemos alterar ou inserir nos parâmetros para a os SSIDs da Rede.
Referências
Andre Camillo: https://andrecamillo.medium.com/getting-started-with-meraki-apis-7633a822a9da
Charles Judd: https://www.youtube.com/watch?v=86uq_Imi-L0
Meraki API V1: https://developer.cisco.com/meraki/api-v1/
Postman, API development tool: https://www.postman.com/
Meraki API V1 Postman Documentation (import from here): https://documenter.getpostman.com/view/897512/SzYXYfmJ
Getting started with Postman: https://developer.cisco.com/meraki/build/meraki-postman-collection-getting-started/
https://documenter.getpostman.com/view/897512/SzYXYfmJ#intro