Loki almacena flujos de logs por etiquetas y Promtail descubre archivos y envía sus líneas. Este curso práctico construye una canalización local y enseña a consultar tanto eventos individuales como señales numéricas derivadas de ellos.
Ejecutarás Loki, lo registrarás en Grafana, configurarás Promtail para archivos del sistema y aplicaciones y explorarás flujos con LogQL. Después contarás líneas, calcularás tasas, agruparás JSON por nivel, extraerás valores y usarás etiquetas sin indexar valores de alta cardinalidad.
Lo que aprenderás
- Descargar, iniciar y verificar Loki y conectarlo con Grafana por API
- Configurar descubrimiento de archivos, etiquetas, posiciones y endpoint push de Promtail
- Verificar logs mediante la API de rango de Loki y Grafana Explore
- Seleccionar flujos y filtrar líneas por texto o expresión regular
- Convertir logs en conteos y tasas por segundo sobre ventanas
- Analizar JSON, agrupar tasas y extraer valores numéricos
- Añadir una etiqueta de entorno de baja cardinalidad y distinguir filtros de línea
- Provocar un pico de errores y crear una consulta LogQL de un minuto
A quién va dirigido este curso
Este curso intermedio está dirigido a administradores Linux, profesionales de DevOps y estudiantes de observabilidad que desean construir y consultar una canalización Loki.
Requisitos previos: Shell de Linux, YAML, procesos en segundo plano, curl, logs, expresiones regulares y navegación básica de Grafana. No se requiere experiencia con Loki ni LogQL.
Entorno de aprendizaje: Una sola máquina Linux con Loki, Promtail, Grafana, logcli y logs generados. Todo se ejecuta localmente, por lo que se enseñan conceptos centralizados sin despliegue multihost.
Preguntas frecuentes
¿Recopilaré logs de varios servidores?
No. Todos los componentes y fuentes están en una máquina. Practicarás descubrimiento, etiquetas, envío, almacenamiento y consultas, pero no el despliegue remoto de agentes.
¿Qué profundidad tiene LogQL?
Incluye selectores, filtros literales y regex, count_over_time, rate, JSON, sum by y unwrap con avg_over_time. Parsers avanzados, reglas, alertas y optimización quedan fuera.
¿El desafío crea y detecta un incidente real?
El disparador hace que el generador escriba líneas ERROR en /var/log/app.log y exige guardar una consulta de conteo de un minuto. No configura alerta ni notificación externa.





