Detalles y características de Data Streaming
Entrega de Datos
Data Streaming utiliza diferentes tecnologías para exportar datos y la confiabilidad de entrega puede variar dependiendo del formato y del destino elegido.
-
Exportación vía OpenTelemetry (OTLP) Al exportar datos en formato OTLP a destinos como Dynatrace, Datadog o AWS S3, pueden ocurrir limitaciones de completitud inherentes al modelo de OpenTelemetry. Este formato es más adecuado para escenarios de observabilidad (como monitoreo de rendimiento y rastreo de eventos), en los cuales los análisis basados en muestras suelen ser suficientes para identificar fallas y anomalías. No es indicado para datos de negocio que exijan precisión integral.
-
Exportación en formato JSON La exportación en JSON ofrece una tasa de entrega generalmente más confiable. Esta opción se recomienda para situaciones en las que la integridad de los datos tiene mayor prioridad, pero aun así, no recomendamos su uso en sistemas de toma de decisiones críticas que dependan del 100% de los datos para una correcta operación.
El archivo JSON se envía comprimido (formato gz).
Consulte también: Límites de uso de Data Streaming. |
Observabilidad vs. Análisis de datos
Comprenda la diferencia entre los dos conceptos que, aunque relacionados, tienen objetivos distintos:
-
Observabilidad: hace un seguimiento del comportamiento y salud de los sistemas en tiempo real. Utiliza datos de telemetría, como métricas, logs y traces, y realiza análisis a través de un muestreo inteligente, que puede reducir el volumen de datos cuando todo está operando normalmente. La pipeline se optimiza para la velocidad y la eficiencia, priorizando la detección rápida de problemas.
-
Análisis de datos (Analytics): se enfoca en la comprensión del negocio y el comportamiento de los usuarios. Utiliza datos históricos para análisis detallados, generación de informes y toma de decisiones estratégicas. La pipeline prioriza la cobertura.
|
Datos y Dimensiones de Traces
Los traces enviados en formato OTLP se generan en el propio gateway de Sensedia. Esto significa que están separados de cualquier trace distribuido que su aplicación cliente pueda haber generado. Actualmente, solo enviamos la dimensión de trace.
Ejemplos
Vea ejemplos de cómo es el archivo generado y enviado a diferentes destinos.
-
Ejemplo OTLP
Vea un ejemplo de archivo en formato OTLP, enviado a AWS S3:
{ "resourceSpans": [ { "resource": { "attributes": [ { "key": "service.name", "value": { "stringValue": "checkout-service" } }, { "key": "service.version", "value": { "stringValue": "1.3.2" } }, { "key": "host.name", "value": { "stringValue": "ip-10-0-0-15" } } ] }, "scopeSpans": [ { "scope": { "name": "io.opentelemetry.contrib.mongodb", "version": "0.39.0" }, "spans": [ { "traceId": "d4cda95b652f4a1592b449d5929fda1b", "spanId": "6e0c63257de34c92", "parentSpanId": "1111111111111111", "name": "MongoDB INSERT orders", "kind": "SPAN_KIND_CLIENT", "startTimeUnixNano": "1693666548745123456", "endTimeUnixNano": "1693666548756789012", "attributes": [ { "key": "db.system", "value": { "stringValue": "mongodb" } }, { "key": "db.name", "value": { "stringValue": "ecommerce" } }, { "key": "net.peer.name", "value": { "stringValue": "mongo-primary" } } ], "status": { "code": "STATUS_CODE_OK" } } ] } ] } ] }
-
Ejemplo JSON
Vea un ejemplo de archivo exportado en formato JSON para S3, Azure Blob o GCS:
{ "apiName": "Test API", "resourceId": 280767, "completeUrl": "GET https://api-sample.sensedia-eng.com/sample/test ", "appDeveloper": "test", "apiComponentType": "OPERATION", "billing": true, "trace": "[{"timeMillis":20,"message":"Choosing route between 316 possible alternatives", ... }]", "environmentName": "Staging", "operationName": "Test API GET /sample", "resultStatus": 200, "requestHeaders": "host: randomapi.sensedia.com\nuser-agent: Mozilla/5.0 ...", "responseHeaders": "date: Mon, 13 May 2024 13:58:54 GMT\ncontent-type: application/json", "billingData": { "accessTokenBalance": "4", "appBalance": "2", "accessTokenBillingQuota": "3", "appBillingQuota": "1", "billingValue": "123" }, "receivedOnDate": "2024/05/13 13:58:53 +0000" }
El ejemplo anterior se redujo para facilitar la lectura.
En los archivos reales, los campostrace
,requestHeaders
yresponseHeaders
pueden contener información más extensa.
Si lo prefiere, puede descargar un archivo completo de ejemplo en formato JSON aquí:-
Estructura de carpetas
La estructura de directorios varía según el proveedor de almacenamiento. En el caso de AWS S3 (JSON), Azure y Google Cloud, la organización sigue el patrón:
s3://<bucket-name>/<environment>/<year>/<month>/<day>/<hour>/<file>.json
Ejemplo:
/analytics/{internal-identifier}/year=2024/month=05/day=13/hour=19/{file_name}.json
{internal-identifier} = punto de control de Sensedia.
-
Share your suggestions with us!
Click here and then [+ Submit idea]