Chat de observabilidad

Pregunta por un query_id, un cliente o un flujo. Analiza logs, QueryLog y el conocimiento de Apptenticate.

Help Grafana — queries útiles

Recetas LogQL para Loki en Grafana Cloud (API, PDV, biometría, etc.). Copie la query, ábrala en Explore y ajuste namespace / container / fechas.

¿Dónde lo pongo en Grafana?
  1. Entre a su Grafana Cloud.
  2. Menú izquierdo → Explore (brújula).
  3. Data source → Loki (el de Apptenticate / cluster).
  4. Pegue la query → elija el rango de tiempo arriba a la derecha → Run query.
  5. Para alertas: Alerting → Alert rules → New alert rule, use una query métrica (count_over_time / sum).
Cómo elegir fechas (ayer o un día concreto)

En Explore, el reloj / time picker (arriba derecha):

  • Yesterday o absolute: From now-1d/d → To now/d (ayer calendario).
  • Día fijo: Absolute time range → From 2026-09-17 00:00:00 → To 2026-09-18 00:00:00.
  • Si puede, timezone America/Panama.
  • Query de logs (líneas): tipo Logs. Query de conteo para gráfico/alerta: Metrics + Range.

Namespaces habituales: apptenticate-staging (QA) y apptenticate-production.

HTTPConnectionPool en API (día de ayer)

Errores de conexión saliente en la API (timeout, pool, host caído). Ver líneas de ayer:

{namespace="apptenticate-production", container=~".*api.*"} |= `HTTPConnectionPool`

Staging: cambie a namespace="apptenticate-staging". En el time picker elija Yesterday.

Contar cada 5 minutos (para ver picos / armar alerta):

sum(
  count_over_time(
    {namespace="apptenticate-production", container=~".*api.*"}
      |= `HTTPConnectionPool`
    [5m]
  )
)

Alerta sugerida: IS ABOVE 20, evaluate 1m, pending 5m.

Errores de un contenedor (día de ayer)

Reemplace el nombre del container (ej. pdv-liveness, apptenticate-biometria):

{namespace="apptenticate-production", container="NOMBRE_CONTAINER"}
  |~ `(?i)(error|exception|traceback|failed|fatal)`

Listar containers disponibles en un namespace:

{namespace="apptenticate-production"}

En Explore → Label browser / label_values({namespace="apptenticate-production"}, container).

Rechazos de negocio (valid=false)

El servicio respondió, pero rechazó captura/match (no es caída de plataforma):

{namespace="apptenticate-production", container=~".*"} |= `valid=false`

Conteo en 5m:

sum(count_over_time({namespace="apptenticate-production"} |= `valid=false` [5m]))
Buscar por query_id

Investigar una transacción concreta en Loki:

{namespace="apptenticate-production"} |= `query_id=123456`

También puede preguntar al chat (menú 1 o 3) con ese número.

Timeouts / Max retries / Connection refused

Patrones típicos cuando un micro no responde (SIB, PDV, App, etc.):

{namespace="apptenticate-production", container=~".*api.*"}
  |~ `HTTPConnectionPool|Max retries exceeded|Connection refused|ConnectTimeout|Read timed out`
Errores 5xx / códigos de plataforma (65x)

Fallos de plataforma o comunicación con micros (no “acerque la cara”):

{namespace="apptenticate-production"}
  |~ `(error_code[=:\s]+(65[0-9]|5[0-9]{2})|" (5[0-9]{2}) ")`

Ej. 654/656 comunicación micro; 655 registro consumo; 650/659 cliente/servicio.

Cómo crear la alerta (HTTPConnectionPool)
  1. Alerting → Alert rules → New alert rule.
  2. Query A = Loki + la query sum(count_over_time(...[5m])) de arriba.
  3. Reduce (Last) → Threshold IS ABOVE 20.
  4. Evaluate every 1m, pending 5m.
  5. Contact point (Slack/email) → Save.

Explore sirve para validar ayer; la alerta solo evalúa el presente en adelante.

Qué preguntar al chat

Sí — menú (recomendado)

  • 1 Consultar una transacción → pide query_id
  • 2 Transacciones de un cliente → pide cliente + fechas (máx. ~3 meses)
  • 3 Logs de una transacción → pide query_id
  • 4 Resumen de servicios Apptenticate
  • 5 Consejos de integración / fotos (selfie, frente, dorso)

También libre

  • Follow-up: dame el de prueba-lia (mismo análisis, otro cliente)
  • promedio del cliente X últimos 3 meses
  • qué pasó con el query_id 123456

No — evite esto

  • Preguntas vagas sin número de menú, cliente, fechas ni query_id.
  • Rangos mayores a ~3 meses.
  • Muchos clientes a la vez sin filtro.
  • Temas fuera de observabilidad / Apptenticate.

Tip

Al iniciar verá el menú. Escriba menú o 0 para volver. Cuanto más específico, mejor la respuesta.

Cargando menú…