Skip to content

Collect SharePoint Metrics: de la Graph API a InfluxDB en piloto automático

En el artículo anterior, te conté cómo automatizamos la recolección de métricas de SharePoint Online con nuestro script collect_sp_metrics.py y por qué elegimos InfluxDB para almacenarlas. Ahora, la pieza final del puzzle es Grafana. Un dashboard bien diseñado transforma esos datos crudos en información útil y actionable. En este post, te voy a guiar por las funcionalidades clave que implementamos en nuestro dashboard y cómo logramos una visualización tan potente.

Más allá de los números: Paneles que cuentan una historia

Nuestro dashboard de SharePoint está diseñado para ofrecer una visión completa y rápida del estado del tenant. No se trata solo de mostrar métricas; se trata de presentarlas de forma que sean fáciles de entender e interpretar al instante. Por eso, integramos varios tipos de paneles:

1. Vistazo rápido: El estado del tenant en tres paneles

Para tener una idea general del estado del sistema, creamos tres paneles de tipo Stat en la parte superior. Estos paneles no solo muestran los números, sino que nos dan un contexto visual inmediato:

  • Total Ocupado: Muestra el espacio total de almacenamiento usado. Lo más interesante es que utiliza umbrales (thresholds). El panel se pone en rojo si el uso supera el 80% de la cuota, dándonos una alerta visual instantánea.
  • Total Archivos: Nos da un conteo del número total de archivos en todos los sitios. Es una métrica clave para entender la carga de datos.
  • Total Sitios: Un simple recuento de los sitios activos, perfecto para tener una referencia del tamaño de nuestro tenant.

La joya de la corona: Analizando el uso de espacio

La consulta para el panel de «Top 15 Ocupación» es la más elaborada y, sin duda, la más valiosa de todo el dashboard. En lugar de mostrar una lista interminable de sitios, usamos una consulta avanzada con lenguaje Flux de InfluxDB para hacer magia:

Cómo funciona la consulta Top 15

La consulta no solo extrae los sitios más grandes, sino que también agrupa a todos los demás en una categoría llamada «Others». Esto nos permite tener un gráfico de tarta que es legible y útil. La lógica es esta:

  1. Obtiene el uso de espacio (used_bytes) para todos los sitios.
  2. Filtra y selecciona los 15 sitios con mayor ocupación.
  3. Suma el espacio utilizado por todos los demás sitios y los agrupa bajo la etiqueta «Others».
  4. Une ambas tablas para crear un gráfico de tarta que muestra la distribución de espacio de forma clara y concisa.

Este panel es crucial para identificar de un vistazo qué sitios están consumiendo la mayor parte del espacio, lo que facilita las tareas de auditoría y gestión de cuotas.

Detalle granular: La tabla con toda la información

En el panel de tipo Table, es donde encontramos el detalle de cada sitio. Pero no es una tabla cualquiera. La configuramos para que fuera interactiva y visualmente inteligente:

  • Campos personalizados: Los nombres de las columnas están traducidos y formateados para ser más legibles (ej. «Usado», «Nº Fic.»).
  • Columnas redimensionables: Los anchos de las columnas están preajustados para una mejor visualización.
  • Umbrales y colores: La columna de «% Uso» utiliza un sistema de umbrales con colores. Esto significa que una celda se colorea de amarillo, naranja o rojo automáticamente a medida que el porcentaje de uso se acerca al límite, dándonos una señal de alerta sin siquiera tener que leer el número.
  • Filtrado y ordenación: La tabla está configurada para poder filtrar y ordenar los datos, lo que nos permite encontrar rápidamente los sitios que nos interesan (ej. ordenar por el mayor uso de espacio).

Resumen: De datos a inteligencia de negocio

Este dashboard no es solo una colección de gráficos; es una herramienta de gestión proactiva. Combina datos de múltiples métricas con una visualización inteligente para que podamos tomar decisiones informadas, identificar problemas antes de que escalen y auditar el uso de SharePoint de forma eficiente. Es un claro ejemplo de cómo la observabilidad, cuando se aplica correctamente, nos permite ir un paso por delante de los problemas.

¿Qué te parece esta aproximación al dashboard? ¿Hay alguna otra funcionalidad que te gustaría ver en un panel de control de SharePoint?

Volver arriba