sâmbătă, 15 februarie 2020

Meraki Dashboard API


Au trecut aproape trei luni de cand am integrat in infrastructura proprie Access Point-uri Meraki. Mai precis, este vorba despre doua locatii in care conectivitatea WiFi este asigurata prin AP-uri Meraki MR33.

MR33 este un model entry-level, dar pentru doua retele de apartament acestea livreaza exceptional. Nu voi intra foarte mult in detalii, voi preciza doar ca pe legaturi de 300Mbps de la Digi, cel mai mic throughput obtinut in teste a fost de 260Mbps cu Delay 2ms si Jitter 1ms, in punctul din apartament cel mai indepartat de AP.

Din punct de vedere al managementului, Dashboard-ul asigura o interfata curata si intuitiva, foarte prietenoasa chiar si cu persoane care nu dispun de cunostinte avansate de networking.

Ma voi limita aici cu detaliile despre performantele AP-urilor, intentia nefiind de a face din acest post un review al modelului specificat mai sus. Legat de Dashboard as mai completa prin a spune ca m-a bucurat sa observ ca autentificarea in 2 pasi prin SMS este acum disponibila si in Romania. 

In randurile care urmeaza voi descrie pasii necesari pentru a activa Meraki Dashboard API, cum putem face Requesturi utilizand Postman si cum putem automatiza anumite procese utilizand scripturi in Python care sa interactioneze cu API-ul.



Activare Meraki Dashboard API

Organization > Settings > Dashboard API access > Check: Enable access to the Cisco Meraki Dashboard API
My Profile > API access > Generate new API key

Documentatie:

Notati codul generat intr-un fisier.



Configurare Postman


Ce este Postman ?
Postman este o aplicatie care interactioneaza cu REST API-uri. Mai simplu spus, este o interfata grafica prin care putem formula requesturi si in care putem citi raspunsurile.

Postman se poate descarca gratuit de aici.

Pentru a lucra mai usor vom dori sa importam in Postman colectia de requesturi a Meraki Dashboard API.

Cel mai simplu mod de a face acest lucru este ca dupa ce am instalat Postman sa accesam linkul de mai jos, apoi in dreapta sus sa apasam butonul ‘Run in Postman’.



In Postman vom dori sa editam colectia pentru a specifica valoarea API key.
In meniul din stanga, identificam colectia ‘Meraki Dashboard API’ si selectam ‘Edit’.


In noua fereastra selectam tab-ul Authorization, la Type selectam API Key, Key: ‘X-Cisco-Meraki-API-Key’, iar in campul Value facem paste la API Key-ul pe care l-am notat.

Dupa ce am completat toate campurile, apasam ‘Update’.

Pentru a face un request, selectam tipul requestului din colectie, apoi apasam ‘Send’.
Daca requestul a reusit vom primi status code-ul ‘200 OK’, iar mai jos in tab-ul ‘Body’ vom putea citi raspunsul oferit de API.

Putem genera cod pe care sa il folosim in script-urile noastre apasand butonul ‘code’ din dreapta.

In noua fereastra selectam din meniul din stanga limbajul pentru care dorim sa generam cod.


Automatizarea folosind Python

Pornind de la codul generat in Postman, putem scrie un script care sa automatizeze anumite procese, fie ca dorim extragerea de informatie din Dashboard sau optimizarea procesului de configurare.

In exemplul de mai sus am facut un request de tip GET care ne intoarce ID-urile organizatiilor pe care le administram. La mine a intors un singur ID, deoarece am o singura organizatie cu doua network-uri.

Mai jos voi pune doua linkuri catre GitHub, unde am urcat doua exemple de scripturi. Pentru a le putea rula va fi necesar sa completati in dictionarul ‘headers’ API key-ul vostru, iar in cel de-al doilea script exista o lista de network-uri unde e necesar sa puneti networkId-urile din organizatia voastra.

Primul script face un request de tip GET si afiseaza clientii conectati la un network, producatorul device-urilor, adrese MAC si IP, cand au fost vazuti ultima data, la ce SSID au fost conectati si daca sunt online in prezent sau nu.
Exemplu: GET request

Al doilea script este un template de configurare. Am facut un request de tip PUT pentru a intra in fiecare network si a configura ultimele 5 SSID-uri. La inceput este prezentata posibilitatea de a alege daca dorim sa configuram sau nu. Daca alegem ‘no’, SSID-urile vor fi trecute la starea default (disabled).
Exemplu: PUT request

Inainte de a rula scriptul de configurare

Dupa rularea scriptului de configurare (<10 sec.)

SSID-urile au fost configurate pe ambele network-uri.


Le recomand celor interesati sa exploreze mai mult in zona de automatizare si programabilitate a retelei, sa acceseze resursele disponibile in mod gratuit pe https://developer.cisco.com. Veti gasi aici informatii despre toate produsele din portofoliul Cisco si acces la laboratoare.



Niciun comentariu :

Trimiteți un comentariu