Saltar al contenido principal

Enrutamiento de registros de aplicaciones en la nube a una canalización

Esta guía le lleva a través del "Hola Mundo" de los pipelines de observabilidad: enviar un único evento de registro JSON desde una aplicación en la nube (simulado vía API) y verificarlo en la plataforma.

Objetivo: Ingerir un registro de aplicación simulado, verificar que llegó al pipeline y prepararlo para enrutarlo a un destino (como Splunk, Elastic o S3).


Por qué es importante

Antes de crear reglas de análisis complejas o enrutar datos a SIEM costosos, debe confiar en su ruta de ingestión.
Este flujo de trabajo confirma:

  1. Su token de API funciona.
  2. El pipeline acepta su estructura JSON.
  3. Puede ver los datos en tiempo real.

Antes de empezar

Asegúrese de tener:

  • Un Token de API (con permisos de ingest).
  • Su ID de Stream único (desde la interfaz de usuario de la plataforma).
  • Acceso a terminal (para ejecutar curl) o Postman.

Visión general del pipeline

flowchart LR
A[App Cloud] -->|JSON Log| B[API de Ingesta]
B --> C{Motor de Enrutamiento}
C -->|Regla de Coincidencia| D[Visor de Datos en Vivo]
C -->|Sin Coincidencia| E[Descartar / Bucket por Defecto]

1. Crear o seleccionar un stream

En su plataforma de observabilidad:

  1. Vaya a Streams > Gestión.
  2. Haga clic en Nuevo Stream (o seleccione default-logs).
  3. Copie el ID del Stream (por ejemplo, st_12345).
  4. (Opcional) Establezca una política de retención (el valor predeterminado suele ser 7 días).

2. Crear un evento de registro de ejemplo

Simularemos un registro de una aplicación en la nube. Guarde esto como app-log.json.

{
"timestamp": "2025-11-15T08:30:00Z",
"service": "payment-gateway",
"level": "ERROR",
"message": "Transaction failed: Gateway timeout",
"transaction_id": "txn_998877",
"meta": {
"region": "us-east-1",
"customer_id": "cus_554433"
}
}
nota

Mantenga el timestamp en formato ISO 8601 para asegurar una indexación adecuada.


3. Enviar el evento de registro

Utilice curl para simular que la aplicación envía el registro.

export STREAM_ID="tu_stream_id_aqui"
export API_TOKEN="tu_api_token_aqui"

curl -X POST "https://api.observability-platform.com/v1/streams/ingest" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Stream-Id: $STREAM_ID" \
-d @app-log.json

Respuesta esperada

{
"status": "accepted",
"ingest_id": "evt_abc12345",
"accepted_items": 1
}

Si ve status: accepted, el pipeline recibió los datos.


4. Verifique su registro en el visor de datos en vivo

  1. Navegue a Explorar o Live Tail en la interfaz de usuario de la plataforma.
  2. Seleccione su stream (st_12345).
  3. Añada un filtro: service == "payment-gateway".
  4. Debería ver su evento aparecer al instante:
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."

5. Enrutar registros a un destino

Ahora que los datos están fluyendo, cree una regla de enrutamiento:

  1. Vaya a Pipelines > Reglas de Enrutamiento.
  2. Haga clic en Nueva Regla.
  3. Filtro: level == "ERROR"
  4. Acción: Enrutar a S3-Archive Y Slack-Alerts.
  5. Guardar y Desplegar.

Envíe la solicitud curl de nuevo.

  • Verifique su bucket S3.
  • Verifique su canal de Slack.

6. Optimizar el pipeline

Ahora que tiene un flujo funcional, considere añadir:

  • Análisis: Extraer customer_id en un campo de nivel superior.
  • Enriquecimiento: Añadir una etiqueta team_owner basada en el nombre del service.
  • Enmascaramiento: Ofuscar customer_id si es PII.

Solución de problemas

  • 401 Unauthorized: Compruebe los permisos de su Token de API.
  • 400 Bad Request: Valide su sintaxis JSON.
  • 404 Not Found: Verifique que el X-Stream-Id es correcto.
  • Problemas de marca de tiempo: Asegúrese de que está utilizando el formato UTC ISO 8601.
  • Datos no mostrados: Compruebe si tiene un filtro activo que excluya su nuevo registro.

Próximos pasos