Loki y Grafana Alloy · Logs
Loki almacena logs con el mismo modelo de labels que Prometheus usa para metricas. Grafana Alloy (sucesor de Promtail) los recolecta de cada pod via Kubernetes API. Juntos forman el pipeline de observabilidad de logs.
Loki: La Base de Datos de Logs
Loki es un sistema de agregacion de logs diseniado para ser eficiente en storage. A diferencia de Elasticsearch, no indexa el contenido de los logs — solo indexa los labels (app, namespace, pod). El texto se comprime y almacena en chunks.
configmap-oci.yml contiene la configuracion S3-compatible. En el lab local, el backend es filesystem sobre PVC. La migracion es transparente para los queries.Alloy: Recoleccion de Logs
Grafana Alloy es el sucesor de Promtail. Corre como DaemonSet — un pod por nodo — y recolecta logs de todos los contenedores. Usa la API de Kubernetes para descubrir pods y enriquecer los logs con labels.
discovery.kubernetes "pods" {
role = "pod"
namespaces = ["aiops"]
}
discovery.relabel "pods_logs" {
targets = discovery.kubernetes.pods.targets
rule {
source_labels = ["__meta_kubernetes_pod_label_app"]
target_label = "app"
}
}
loki.source.kubernetes "pod_logs" {
targets = discovery.relabel.pods_logs.output
forward_to = [loki.write.default.receiver]
}
loki.write "default" {
endpoint {
url = "http://loki.aiops.svc.cluster.local:3100/loki/api/v1/push"
}
} Query de Logs desde Grafana
Loki usa LogQL, un lenguaje de queries similar a PromQL. Los logs se exploran desde Grafana con el datasource de Loki preconfigurado.
El workflow 2 de n8n (Log Analysis) usa exactamente estas queries via la API HTTP de Loki. Cada hora consulta logs de error, los procesa con LLM y envia un reporte a Discord.
Siguiente: Grafana Dashboards
Con metricas en Prometheus y logs en Loki, Grafana unifica la visualizacion. Dashboards preconfigurados con panels de cluster, SLOs y estado de servicios.