Grafana Loki LogQL

{app="nginx"} |= "500"

Búsqueda LogQL en Grafana Loki que filtra los logs de una aplicación (nginx) por contenido, la forma rápida de buscar errores y patrones.

Ejecútala en Grafana cuando los logs de las aplicaciones vivan en Loki y necesites filtrar por contenido: la query {app="nginx"} selecciona los streams de la app y |= "500" filtra las líneas que contienen el patrón. Es el grep distribuido de los logs: la misma estructura sirve para buscar errores de aplicación, intentos de explotación (patrones de SQLi, paths raros) o cualquier string. En un IR, Loki es la primera parada para ver qué pasó en una app antes del incidente — y LogQL permite desde el filtro simple hasta las agregaciones por tiempo (rate, count_over_time) para ver picos.

No la uses para búsquedas sobre logs no etiquetados: LogQL filtra por los labels del stream ({app=...}) y luego por contenido — sin los labels bien puestos en la ingesta, la selección de streams es imposible o devuelve todo. El filtro |= es de substring: los patrones complejos (regex) usan |~, y las agregaciones requieren funciones de rango (rate, count_over_time) con la ventana. Y ojo con el rendimiento: las búsquedas de contenido sobre rangos amplios sin filtro de labels son caras — acota por labels y por ventana temporal. Loki no indexa el contenido: cada búsqueda escanea los chunks, así que el filtrado por labels es la clave del coste.