Cuando escribes código, avanzas al ritmo que te permita depurar.
Nuestro objetivo en Cloudflare es ofrecer a nuestros desarrolladores herramientas para implementar aplicaciones más rápido que nunca. Eso implica brindarles herramientas para hacer todo lo que necesiten, desde iniciar su proyecto Workers hasta tener visibilidad sobre la manera en que tu aplicación ofrece con éxito el tráfico de producción.
El año pasado lanzamos wrangler tail
, que te permite acceder a un flujo en directo de los registros de Workers para ayudar a identificar errores para depurar tus aplicaciones. Workers Trace Events Logpush (o simplemente Workers Logpush para abreviar) amplía esta funcionalidad. Puedes utilizarlo para enviar los registros de Workers a un destino de almacenamiento de objetos o a la plataforma de análisis que elijas.
Workers Logpush ya está disponible para todos los usuarios del plan de pago de Workers. Sigue leyendo para saber cómo empezar y conocer los precios.
Muévete rápido sin estropear nada
Con el auge de plataformas como Cloudflare Workers sobre contenedores y máquinas virtuales, ahora se tarda solo unos minutos en implementar aplicaciones. Pero, al crear una aplicación, cualquier pila tecnológica conlleva una serie de desventajas.
Como desarrollador, elegir Workers significa despreocuparte por las arquitecturas subyacentes. Solo tienes que escribir el código y que funcione (¡esperemos!). Una crítica común a este estilo de plataforma es que dificulta la observabilidad.
Queremos que deje de ser así.
A lo largo de los años, hemos mejorado las herramientas de prueba y depuración que ofrecemos: wrangler dev
, Miniflare
y, más recientemente, workerd
nuestro tiempo de ejecución de código abierto. Estas mejoras han facilitado la depuración local y la ejecución de pruebas unitarias. Sin embargo, siempre habrá casos extremos o fallos que solo se reproduzcan en entornos de producción.
Si algo se avería... entra en juego Workers Logpush
Wrangler tail te permite ver los registros en tiempo real, pero los desarrolladores nos han hecho saber que también te gustaría configurar la monitorización de tus servicios y tener un registro histórico que revisar. Workers Logpush incluye metadatos sobre las solicitudes, mensajes console.log()
y cualquier excepción desconocida. Para que te hagas una idea de cómo se ve, a continuación se muestra una línea de registro de ejemplo:
Logpush es compatible con las herramientas de observabilidad más populares. Envía los registros a Datadog, New Relic o incluso a R2 para su almacenamiento y consultas ad hoc.
{
"AccountID":12345678,
"Event":{
"RayID":"7605d2b69f961000",
"Request":{
"URL":"https://example.com",
"Method":"GET"
},
"Response":{
"status":200
},
"EventTimestampMs":1666814897697,
"EventType":"fetch",
"Exceptions":[
],
"Logs":[
{
"Level":"log",
"Message":[
"please work!"
],
"TimestampMs":1666814897697
}
],
"Outcome":"ok",
"ScriptName":"example-script"
}
Precio
Workers Logpush está disponible para los clientes de nuestros planes Workers de pago y Enterprise. Queríamos que fuera muy asequible para nuestros desarrolladores. Workers Logpush tiene un precio de 0,05 USD por cada millón de solicitudes y solo te facturamos por las solicitudes que se traducen en registros entregados a un destino final después de aplicar cualquier filtrado o muestreo. También incluye un uso de 10 millones de solicitudes al mes.
Configuración
La configuración de Logpush es increíblemente sencilla.
1. Crea un trabajo Logpush. El siguiente ejemplo envía los registros de Workers a R2.
En Logpush, también puedes configurar filtros y la velocidad de muestreo para tener un mayor control del volumen de datos que se envía a tu destino configurado. Por ejemplo, si solo quieres recibir los registros que resultaron en una excepción, podrías añadir lo siguiente en logpull_options
:
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/logpush/jobs' \
-H 'X-Auth-Key: <API_KEY>' \
-H 'X-Auth-Email: <EMAIL>' \
-H 'Content-Type: application/json' \
-d '{
"name": "workers-logpush",
"logpull_options": "fields=Event,EventTimestampMs,Outcome,Exceptions,Logs,ScriptName",
"destination_conf": "r2://<BUCKET_PATH>/{DATE}?account-id=<ACCOUNT_ID>&access-key-id=<R2_ACCESS_KEY_ID>&secret-access-key=<R2_SECRET_ACCESS_KEY>",
"dataset": "workers_trace_events",
"enabled": true
}'| jq .
2. Habilita el inicio de sesión en tu script Workers
"filter":"{\"where\": {\"key\":\"Outcome\",\"operator\":\"eq\",\"value\":\"exception\"}}"
Puedes hacerlo añadiendo una nueva propiedad, logpush = true
, a tu archivo wrangler.toml
. Se puede hacer en la configuración de nivel superior o en un entorno. El trabajo de Logpush recibirá cualquier nuevo script con esta propiedad de manera automática.
¡Empieza hoy mismo!
Tanto los clientes de nuestro plan Workers de pago como los del plan Enterprise ya pueden empezar a utilizar Workers Logpush. Puedes consultar la guía completa sobre cómo empezar aquí.