Laboratorio de telemetría de redes moderno usando gNMI/gRPC, desplegado sobre GitHub Codespaces con Containerlab. Incluye stack completo de observabilidad: gNMIc + Prometheus + Grafana.
- Clic en el botón
+de la pantalla principal de GitHub. - Seleccionar Import repository.
- En el campo "The URL for your source repository", pegar la URL:
https://github.com/ernestosv73/lab-telemetria.git - Asignar un nombre al nuevo repositorio.
- Clic en Begin import.
- Desde el repositorio ernestosv73/lab-telemetria, hacer clic en la lista desplegable Fork.
- Seleccionar Create a new fork.
La topología fue configurada para su ejecución en una instancia de GitHub Codespaces.
- Clic en la solapa Code y seleccionar Codespaces.
- Clic en Create Codespaces on main.
Una vez dentro del Codespace, ejecutar:
clab deploy -t topo-telemetria.ymlEl laboratorio implementa un stack completo de telemetría basado en los siguientes componentes:
Acceder al nodo desde una nueva terminal en Codespaces:
docker exec -it clab-lab-telemetria-gNMIc /bin/bashEn el directorio principal se encuentran los archivos de configuración:
| Archivo | Descripción |
|---|---|
gnmic-cpu-stats.yml |
Suscribe a métricas de consumo de CPU |
gnmic-stats-metricas.yml |
Suscribe a métricas de interfaces: in-multicast-packets, out-multicast-packets, in-unicast-packets, in-error-packets |
Iniciar la suscripción a métricas:
gnmic subscribe --config gnmic-cpu-stats.ymlgnmic subscribe --config gnmic-stats-metricas.ymlPrometheus realiza el scraping de métricas expuestas por gNMIc y las almacena como series temporales para su posterior consulta.
Grafana ejecuta consultas PromQL sobre Prometheus y presenta los datos en dashboards interactivos.
Acceso al Dashboard vía web (desde la solapa Puertos en Codespaces):
- Clic derecho sobre el puerto 3000.
- Seleccionar Visibilidad del puerto → Public.
- Clic en el ícono Abrir en navegador 🌐.
| Tecnología | Rol |
|---|---|
| Containerlab | Orquestación de topología de red |
| gNMIc | Collector gNMI/gRPC |
| Prometheus | Base de datos de series temporales |
| Grafana | Visualización y dashboards |
| GitHub Codespaces | Entorno de ejecución en la nube |
Este proyecto se distribuye bajo la licencia MIT.
