Foro en Español

Reply
Occasional Contributor I

Aruba Central API Gateway y cómo bajar la información a Excel con un script de Python

To see this post in English, click here:

http://community.arubanetworks.com/t5/Network-Management/Aruba-Central-API-Gateway-and-how-to-create-a-CSV-file-using/td-p/311618

 

Uno de los mayores diferenciadores de Aruba Central, desde mi punto de vista, es la capacidad de automatizar ciertas tareas de administración, monitoreo y capacidades avanzadas para obtener información de la infraestructura via APIs.

La intención de este post es explicar cómo se puede acceder al API Gateway de Aruba Central para obtener cierta información que los APs no despliegan en la interfaz de Central, pero que nos puede servir para que ciertos clientes tengan un mejor uso de las capacidades de la infraestructura. En este post, por ejemplo, describiré cómo se puede bajar a un archivo CSV, que se puede abrir con Excel, la información de los dispositivos conectados a nuestra red, gestionada por Aruba Central, en ciertos deltas de tiempo.

 

Paso 1: Para los clientes que tienen su red administrada por Aruba Central, se debe pedir a Aruba que habilite la sección de "API Gateway" para el ID del cliente. Para esto, la manera es que el SE del cliente levante un caso en el TAC para habilitar esta capacidad dentro de Central, se le pedirá envíe los IDs de los clientes que se quiere habilitar. Importante: si se tiene una administración tipo MSP, pedir para el(los) ID(s) de cliente listados en la sección "All customers", así:Central IDs clientes.png

 

Paso 2: El menú se habilita bajo la sección "Maintenance", dentro del cliente que queremos obtener la información via API.

API Gateway menu.png

Paso 3:

Como reza la documentación de Aruba Central APIs v2.3, tenemos varias opciones para comunicarnos con el API Gateway. En este caso lo haremos por el propio URL del API Gateway de Central (que en el caso de que sea un usuario en producción es: API Gateway producción).

Para que este link nos autentique, debemos generar un token, válido por dos horas. La forma de generarlo es directamente sobre la interfaz de Aruba Central de nuestro cliente, en la sección Maintenance -> API Gateway -> "+ Add Apps and Tokens". Ahí pedirá dar un nombre a este token, como por ejemplo "Prueba de API" y generarlo. Luego, dar clic en link del token generado.

Token generado.png

Ahí dar clic en "Download Token"

 

Download Token.png

Y aquí, el "access_token" es la cadena de texto que nos interesa para autenticarnos con el API Gateway.

token real.png

 

Paso 4:

Con este texto copiado, lo pegaremos en el campo "Token" del API Gateway producción.

Ahora estamos autenticados y podemos sacarle información a nuestra red.

 

Paso 5:

En este caso explicaré cómo visualizar los "dispositivos conectados", en un rango de tiempo y desplegar la información en un archivo CSV.

Aruba Central tiene la capacidad de darnos cierta información de los dispositivos conectados a nuestra red, en cierto rango de tiempo. En el API Gateway, debemos navegar en la sección Monitoring -> Client -> Top N Clients, dado que esta es la sección que permite tener un detalle de clientes conectados en cierto tiempo. Si se quiere obtener un detalle de los clientes, inclusive de sus capacidades wireless y de la conectividad en este instante es mejor usar "List Wireless Clients".

Top N Clients.png

Top N Clients, tiene un parámetro default para obtener estos valores y es de 3 horas. Si queremos obtener estos mismos datos en un lapso diferente, debemos modificar los parámetros "from_timestamp" y "to_timestamp" con el parámetro "epoch" en segundos. Para ello les recomiendo una herramienta gratuita y muy valiosa llamada Epoch Converter.

 

Es momento de obtener los datos y basta darle clic en el botón "Try"

try.png

 

Ahora, obtenemos una pantalla con GET response en formato JSON que más o menos se ve así:

get response TOP N CLients.png

Paso 6:

Es tiempo de hacer la traducción de esta información a un formato más amigable, por ejemplo CSV que bien puede ser abierto por un Excel o afín. 

Para esto desarrollé un script (adjunto), que básicamente permite el copiar y pegar el cuerpo de la respuesta en JSON. Es un pequeño spcript de Python que utiliza la librería "csv". No es nada más que un par de for anidados y aprovechar que Python ya tiene una estructura de datos (diccionario) que nos ayuda a poder manipularla fácilmente.

script.png

Es cuestión de pegar el "RESPONSE BODY" y correr el script.

Adjunto el script de Python, el documento .csv generado.

correr script.png

 

 

Espero que sea de su utilidad y no duden en darle con todo a la competencia cuando desinforme al cliente sobre las capacidades avanzadas de Aruba Central.

 

Aquí les dejo el link con el complemento mejorado de este script, que nos permitirá bajar la información del API de Central respecto a los clientes, APs y subscripciones, en el modo MSP

http://community.arubanetworks.com/t5/Foro-en-Espa%C3%B1ol/Aruba-Central-API-Gateway-reporte-de-APs-y-subscripciones-por/td-p/312602

 

Esteban Tayo.

Systems Engineer - Aruba Mexico

Highlighted
Aruba Employee

Re: Aruba Central API Gateway y cómo bajar la información a Excel con un script de Python

Hola Esteban.

Contribuyendo a tu Script, te dejo una mejora del script, en donde solo necesitas ingresar to access_token si es que no se hace el refresh_token, de otra manera se tendra que hacer primero el refresh_token cada 7200 segundos para que el acceso siempre se mantenga.

 

Saludos.

Occasional Contributor I

Re: Aruba Central API Gateway y cómo bajar la información a Excel con un script de Python

Gracias Nic.

 

Está muy bien.

 

Vale la pena explicar que estás usando la librería no GMO llamada "requests".

Me gustó tu implementación de "epoch".

 

Mil gracias mi estimado amigo.

 

Search Airheads
cancel
Showing results for 
Search instead for 
Did you mean: