Logotipo de registros de aplicaciones

JSON y registros de la aplicación Nuevo

Conectar Registros de la aplicación a Excel, Hojas de cálculo y IA

Registro de su aplicación, rastreos de pila aún adjuntos. Líneas JSON de ECS, Serilog, pino o Bunyan. Plain marca de tiempo [NIVEL] registrador: mensaje texto, donde un rastreo de pila de cuarenta líneas permanece unido a la línea que lo generó en lugar de convertirse en cuarenta filas inútiles. Y, en Debian y Ubuntu, los dos registros que registran lo que cambió en el sistema.

1conexión
0puertos de entrada
solo lecturaaplicado
4 formatos de registro de aplicaciones Los rastreos de pila se conservaron con su mensaje. Historial de paquetes dpkg y apt Solo lectura · No se ha añadido nada a tu aplicación
La gran idea

Tu carpeta de registros se convierte en una tabla que puedes agrupar.

No utiliza grep ni una pila de registros. Query Streams lee los archivos que tu aplicación ya escribe, define el formato y te proporciona columnas tipadas; así, determinar qué registrador genera más errores esta semana se resuelve con una sola consulta, en lugar de llevarte toda una tarde. Una línea que el analizador no puede leer se conserva como una fila con su correspondiente explicación, en lugar de descartarse silenciosamente.

Carpeta de registroen tu servidor
app-api/tiendaJSON
app.log del trabajador de la tiendatexto
registro.históricoapto

Rotaciones, archivos comprimidos y archivos releídos: gestionados

registradores más ruidosos.sqlSQL
SELECCIONE aplicación, registrador,
       contar(*) AS errores
DESDE   eventos del conjunto de archivos
DONDE  nivel = 'ERROR'
GRUPO POR aplicación, registrador
ORDENAR POR errores DESC
Resultadoerrores por registrador
aplicaciónleñadorerrores
API de la tiendaCliente de pago412
API de la tiendaOrderRepo96
empleado de tiendaEmailSender31
tienda-webFiltro de sesión4

Intégrala a la base de datos de tu aplicación en la misma consulta.

Los archivos que tu aplicación ya escribe, ahora una tabla sobre la que puedes generar informes.

Fuentes

Dos formas escribe tu aplicación, dos escribe la caja

Cada tarjeta especifica los archivos exactos que lee Query Streams y la información que se obtiene de ellos. No es necesario adoptar ninguna biblioteca de registro ni cambiar ningún formato para que esto funcione; los formatos compatibles son los que estas herramientas ya generan por defecto.

Registros de aplicaciones compatibles

4 formatos
líneas JSONECS, Serilog compacto, pino, Bunyan
  • Un objeto JSON por línea en .jsonl, .ndjson o *-json.log
  • Los nombres de los campos de ECS se corresponden directamente — nivel de registro, nombre.del.host, nombre.del.servicio
  • Serilog compacto, pino y Bunyan también leen: mismas teclas, diferente ortografía
  • Los objetos anidados se aplanan en columnas punteadas; todo lo que no se ha mapeado termina en datos
  • Anexos; rotaciones fechadas y .gz seguido
Registro de textomarca de tiempo, nivel, registrador, mensaje
  • La forma predeterminada: un sello, un nivel entre corchetes, un registrador, un mensaje
  • Un rastreo de pila se une a la línea que lo generó: una fila, no cuarenta.
  • en …, Causado por: y Rastreo de la pila todo se lee como continuación
  • Lecturas .registro, .afuera y .TXTLos archivos JSON están excluidos por declaración.
  • milisegundos separados por coma o punto; el reloj local se lee como el del Agente.
dpkgregistro del paquete
  • Una fila por cada paso del paquete: instalar, mejora, eliminar, configurar
  • paquete, versión y nueva_versión como sus propias columnas
  • estado Las líneas llevan el estado dpkg movió el paquete a
  • /var/log/dpkg.log y su numerado .gz rotaciones
  • No hay zona en el archivo; se lee como el reloj local del agente.
aptoregistro de historial
  • Uno Clave: valor bloque por transacción, línea en blanco entre bloques
  • El exacto Línea de comandos que se ejecutó y lo que cambió
  • Fecha de inicio es la hora del evento; Fecha de finalización es su propia columna
  • Una transacción incompleta espera en lugar de dividirse por la mitad.
  • /var/log/apt/history.log además de su .gz rotaciones
Más informaciónEste es el comienzo, no el techo.

Con cada nueva versión del Agente, se añaden nuevos formatos de registro para aplicaciones y paquetes. Dado que los Agentes se actualizan automáticamente, cualquier formato añadido posteriormente aparecerá en el conector sin necesidad de que nadie modifique el servidor.

Los cuatro analizadores se crearon y probaron con archivos de registro reales, incluyendo rotaciones y archivos comprimidos. Los dos registros de paquetes son solo para Debian y Ubuntu; no hay un perfil para distribuciones basadas en RPM ni para el historial de paquetes de Windows, y preferimos aclararlo antes que dejar que lo descubra durante la instalación.
En todas partes corre

Registro de su aplicación de cada región, lee dónde se corre

Una aplicación rara vez se ejecuta en un solo servidor. Una API en una región de la nube, trabajadores en otra, algo aún en un servidor en la oficina. Cada ubicación ejecuta un Agente de Red que lee los archivos de registro donde ya se encuentran y se conecta a Query Streams. Para su firewall, se trata de una conexión saliente normal: no hay nada que abrir, ninguna VPN que configurar ni ninguna biblioteca de registro que agregar a su aplicación.

eu-oeste La API escribe líneas JSON, un archivo por servicio. marca fuera
nosotros-este Trabajadores escribiendo registros de texto, rastreos de pila y todo marca fuera
Oficina central Una caja antigua, junto con el historial de dpkg y apt. marca fuera

Tres conexiones salientes, un solo lugar para consultarlas: sin puerto de entrada, sin VPN, sin cambios en el firewall.

Un agente por ubicación

Un agente cubre una ubicación completa en lugar de un solo registro: las líneas JSON, el registro de texto y el historial de paquetes de ese sitio se convierten en conectores de conjuntos de archivos independientes en el mismo agente. El nivel gratuito ejecuta un solo agente, mientras que los niveles superiores ejecutan más.

1 ubicación = 1 agente = muchos conectores

Nada que abrir

El agente establece una conexión saliente cifrada, y tanto la solicitud saliente como las filas recibidas viajan a través de ella. No se requiere ningún puerto de entrada, VPN ni cambios en el firewall, y no se añade nada a su aplicación para que funcione.

una conexión, en ambas direcciones

Una consulta que abarca varias regiones.

Cada fuente en un consulta federada Nombra su propio agente, de modo que una sola instrucción puede colocar los errores de la API en una región junto a los de los trabajadores en otra, o junto al historial del paquete que explica cuándo se inició. Incluido en Business y Enterprise.

2 regiones → 1 conjunto de resultados

Se mantienen al día

Los agentes se actualizan automáticamente, por lo que un formato de registro añadido en una versión posterior llega a todas las ubicaciones sin necesidad de una implementación propia. Por eso, el muro de arriba sirve como punto de partida y no como una lista fija.

Llegan nuevos formatos con el Agente

La parte difícil

Rastros de pila, relojes y funciones similares

El archivo de registro de la aplicación es el más desordenado del servidor: un solo evento puede ocupar cuarenta líneas, dos formatos no relacionados pueden parecer idénticos y la mitad de estos archivos no incluyen información de zona horaria. Cada uno de estos problemas se gestiona mediante una declaración, no por intuición.

Un evento, no cuarenta filas.

Una línea que no comienza con una marca de tiempo pertenece a la línea superior. Así es como un rastreo de pila permanece unido al mensaje que lo generó, en lugar de fragmentarse en docenas de fragmentos que no se pueden separar. GRUPO POR puede volver a armarse.

líneas de continuación → unidas, hasta 200

Dos troncos que se parecen

Una línea de aplicación JSON, un contenedor Docker y una línea de acceso JSON de un servidor web son todos "JSON con una marca de tiempo". El formato viene determinado por el contenido de la línea, por lo que cada una se ubica en su propio perfil, nunca por un nombre de archivo.

El contenido decide, no el nombre del archivo.

Un reloj sin zona horaria

Los registros de texto, dpkg y apt escriben la hora local del host sin ningún desplazamiento. En lugar de adivinar, estos perfiles declaran que la marca de tiempo es local y la interpretan como la zona horaria del agente; en cualquier caso, la cadena original se conserva en una columna aparte.

reloj local → declarado, nunca inferido

Una transacción aún en curso

apt escribe el inicio de una actualización inmediatamente y la línea final solo cuando dpkg termina, lo que puede tardar minutos. Un bloque que aún no se ha cerrado espera, en lugar de dividirse por la mitad y aparecer como un evento sin inicio.

espera hasta la fecha de finalización, hasta 30 min

En el archivo5 líneas
2026-09-08 14:02:11,431 [ERROR] PaymentClient: error de cobro java.net.SocketTimeoutException: tiempo de espera de lectura agotado en java.base/java.net.SocketInputStream.read en PaymentClient.charge(PaymentClient.java:88) … 24 más
En la tabla1 fila
tiempo_del_evento
2026-09-08 14:02:11.431
nivel
ERROR
leñador
Cliente de pago
mensaje
Error de carga ↵ java.net.SocketTimeoutException: Tiempo de espera de lectura agotado ↵ en …
Cuenta la excepción, no las líneas que imprimió.
El esquema

Las columnas que realmente obtienes

No se trata de un bloque de texto con una marca de tiempo al lado. Cada formato se analiza y se convierte en columnas tipificadas que se pueden filtrar, agrupar y agregar directamente; y cuando la aplicación registra JSON estructurado, sus propios campos también se descomponen en columnas.

Logotipo elástico
líneas JSONECS · Serilog · pino · Bunyan
nivelleñadormensajeanfitriónservicioarroyodatos
Icono de registros de la aplicación
Registro de textorastreos de pila unidos en
nivelleñadormensaje
Logotipo de Debian
Registro del paquete dpkgDebian · Ubuntu
acciónestadopaqueteversiónnueva_versióndetalle
Logotipo de Debian
registro del historial del apartamentoun bloque por transacción
línea de comandossolicitado_porinstalarmejoraeliminarpurgaerrorfecha_finaldatos

Cada fila también lleva tiempo_del_evento, la marca de agua sin procesar de la que se leyó y el archivo del que provino. Los registros de su aplicación se identifican por aplicación y los dos registros de paquetes por anfitrión — ambos se toman de la carpeta donde se encuentra el archivo, por lo que una carpeta por servicio o por máquina proporciona una columna limpia para agrupar. El registro de texto de tres columnas es intencional: en lugar de adivinar campos que un mensaje de formato libre no tiene de forma fiable, el mensaje se mantiene completo, con su rastreo de pila en su interior.

Una conexión, cada superficie

Dónde se pueden almacenar los datos de registro de su aplicación

Los archivos de registro no son un callejón sin salida. Conecta la carpeta una sola vez y la misma conexión de solo lectura alimenta todas las superficies que admite Query Streams; no se requiere una segunda configuración, ni una segunda copia de los datos, ni hay diferencias en el tratamiento por parte de un conector de base de datos.

Compatible

Registros de aplicaciones a Excel

Microsoft Excel · Complemento de Excel

Obtenga los resultados del registro de aplicaciones en tiempo real directamente en una hoja de cálculo y actualícelos cuando lo desee: Excel de escritorio, Excel Online, Microsoft 365.

Cómo funciona Excel
Compatible

Registros de la aplicación en Google Sheets

Complemento de hojas

Ejecuta una consulta de registro de aplicaciones guardada desde la barra lateral y arrastra las filas a la hoja de cálculo. Los colaboradores compartidos pueden actualizarla ellos mismos.

Cómo funciona Google Sheets
Compatible

Registros de aplicaciones del servidor MCP

Claude, Cursor y clientes MCP · Servidor MCP

Otorgue a un asistente de IA acceso de solo lectura al registro de la aplicación con el esquema que necesita para escribir SQL correcto; no se requieren credenciales en el chat.

Cómo funciona MCP
Compatible

API REST de registros de aplicaciones

punto final HTTP

Publica una consulta de registro de aplicaciones como un punto final JSON autenticado al que cualquier aplicación puede llamar, con una especificación OpenAPI 3.1 y colecciones predefinidas para Postman, Insomnia y Hoppscotch. No se abre ningún puerto de base de datos.

Cómo funciona la API REST
Compatible

Registros de la aplicación en Airtable

Plataforma de automatización

Sincroniza las filas del registro de la aplicación con una base de datos de Airtable según un cronograma, o recupéralas dentro de un script de automatización de Airtable.

Cómo funciona Airtable
Compatible

Registros de la aplicación en Baserow

Plataforma de automatización

Alimenta una tabla de Baserow desde el registro de la aplicación a través del punto final REST, ya sea en servidores propios o en la nube de Baserow.

Cómo funciona Baserow
Compatible

Registros de la aplicación en SeaTable

Plataforma de automatización

Mantenga actualizada una base de datos SeaTable con los datos de registro de la aplicación sin exportar ningún archivo ni exponer la base de datos.

Cómo funciona SeaTable
Compatible

Registros de la aplicación en Smartsheet

Plataforma de automatización

Los resultados del registro de la aplicación se insertarán en una cuadrícula de Smartsheet para que los planes e informes se lean desde el sistema de origen, y no desde la exportación de la semana pasada.

Cómo funciona Smartsheet
Compatible

Registros de la aplicación en Anvil

Anvil Works · Plataforma de aplicaciones

Realice una copia de seguridad de una aplicación Python de Anvil con el registro de la aplicación a través del punto final REST en lugar de incrustar las credenciales de la base de datos en la aplicación.

Cómo funciona Anvil
Compatible

Registros de aplicaciones en Power BI

Power Query M

Pegue la consulta Power Query M generada en el Editor avanzado de Power BI y el informe leerá los resultados del registro de la aplicación en tiempo real a través de HTTPS, sin necesidad de un controlador ODBC ni de abrir ningún puerto de base de datos.

Cómo funciona Power BI
Compatible

Registros de aplicaciones, alertas e informes

Slack · Discord · Correo electrónico · Webhook

Programe una consulta del registro de la aplicación y haga que las filas se envíen a Slack, Discord, correo electrónico o un webhook firmado, o bien, retenga el mensaje hasta que un recuento de filas, un umbral o un cambio porcentual supere la línea que haya establecido.

Cómo funcionan las alertas y los informes
La tarjeta de alertas es la que merece una segunda mirada: una consulta programada sobre el recuento de errores no requiere que nadie supervise una terminal, por lo que un pico de actividad llega automáticamente a Slack o a la bandeja de entrada. Aún no se han escrito guías paso a paso específicas para los registros; las páginas enlazadas explican cómo funciona cada interfaz.

Lo que esto deliberadamente no hace

No se trata de una lectura en tiempo real. Query Streams lee los archivos tal como están en el disco al ejecutar la consulta, por lo que un pico de error se muestra como filas en lugar de como un flujo que se pueda observar. Si necesita alertas en fracciones de segundo sobre una línea a medida que se imprime, una canalización de registros es la herramienta adecuada, y así lo indicaremos.

El registro de tu aplicación contiene todo lo que imprime, y conviene aclararlo: si registra un token, un correo electrónico de un cliente o el cuerpo completo de una solicitud, esa cadena ya está en el archivo y también aparecerá en la columna. No existe un mapa de campos para excluir datos como en el registro de un servidor web. Trata la tabla resultante con el mismo cuidado que el archivo.

Parte de lo que los registros del paquete pueden registrar se reconoce por su forma en lugar de probarse mediante la captura. dpkg documenta una línea del archivo de configuración y purga y desaparecer acciones; documentos aptos Solicitado por, Error, Purga, Reinstalar y DegradarNinguno de ellos apareció en los registros con los que se crearon estos perfiles, por lo que se declaran, no se demuestran, y ninguno de los registros de paquetes cubre las distribuciones basadas en RPM ni Windows.

Más que una limitación, es un detalle de configuración: la columna de identidad proviene de la carpeta donde se encuentra el archivo, dentro de la carpeta que se especifica. Si se conecta un conector a un directorio con una subcarpeta por servicio o por máquina, se obtienen nombres útiles automáticamente; si se conecta directamente a un directorio con archivos sueltos, cada fila se nombra según ese directorio. Vale la pena invertir treinta segundos en la configuración.

El resto sigue el diseño habitual. El agente se conecta y lee archivos; no se instala nada junto con su aplicación, no se escribe nada, no se adjunta ni se instrumenta ningún proceso, y el acceso es de solo lectura.

Cómo funciona

Tres pasos, y sin cambios en la forma en que su aplicación registra los datos.

01

Señala la carpeta de registro.

Otorgue a un agente de Query Streams acceso de lectura a donde ya se almacenan los registros: la carpeta junto a su aplicación, un recurso compartido donde los recopila o /var/log para el historial del paquete.

02

Reconoce el formato

Query Streams identifica el formato a partir del contenido de las líneas, no del nombre del archivo; por lo tanto, una copia renombrada aún se puede leer, y un archivo que no coincide con el formato fijado se archiva con una explicación en lugar de dañar la tabla.

03

Consúltalo o únete a él.

Ejecute SQL desde el portal, impórtelo directamente en Microsoft Excel o Google Sheets, o utilice una consulta federada para unir su registro de errores con los pedidos y usuarios de la base de datos de su aplicación, todo en una sola instrucción.

Preguntas frecuentes sobre el registro de la aplicación

¿Qué biblioteca de registro debo usar?

Ninguno en particular. Si escribes líneas JSON, los nombres de campo de Elastic Common Schema se asignan directamente, y el formato compacto de Serilog, pino y Bunyan también se leen porque usan las mismas claves de nivel superior con diferentes ortografías; la marca de tiempo se toma de cualquiera de los nombres habituales que realmente tenga tu línea.

Si escribes texto plano, el ordinario marca de tiempo [NIVEL] registrador: mensaje La forma es un formato compatible por derecho propio. No hay nada que adaptar ni nada que reconfigurar.

¿Qué sucede realmente con un rastreo de pila?

Se queda con el error que lo produjo. Un registro comienza en una línea que se abre con una marca de tiempo, y cada línea siguiente que no lo haga se trata como una continuación de ella, que es exactamente la forma que tiene un rastreo de Java, .NET o Python. La clase de excepción, la en … marcos, un Causado por: cadena y un Python Rastreo de la pila Todos los encabezados se reconocen como pertenecientes a la línea superior.

La diferencia práctica radica en que contar errores realmente cuenta errores. Sin esto, una excepción aumenta el número de errores en la cantidad de fotogramas que se imprimieron, y el mensaje que realmente se desea leer aparece en una fila diferente a la del nombre de la clase.

¿Por qué se incluyen dpkg y apt en los registros de aplicaciones?

Porque responden a la pregunta que surge inmediatamente después de "¿cuándo empezó a fallar?", es decir, "¿qué cambió?". Son los registros propios del gestor de paquetes, ubicados en la misma estructura de carpetas, leídos de la misma manera, y son el complemento más útil que puede tener un registro de errores.

El historial de apt es legible: un bloque por transacción con el comando exacto que se ejecutó y lo que instaló, actualizó o eliminó. El registro de dpkg es más detallado: una fila por cada paso del paquete. Con ambos, puedes asociar una fecha a un cambio en lugar de intentar recordarla.

¿Puedo vincular mis errores con la actualización que los causó?

Sí, con una cosa que debes saber: un conector lee un formato, por lo que el registro de tu aplicación y /var/log/apt/history.log Son dos conectores en lugar de uno. Una consulta federada los une en una sola instrucción, el mismo mecanismo que une un registro a una base de datos de producción.

Esa es la consulta que vale la pena desarrollar en esta familia: errores por hora además de las transacciones que se ejecutaron ese día, ambas leían archivos que nadie tenía que enviar a ningún lado.

¿Esto es en tiempo real?

Se trata de un servicio bajo demanda, no de transmisión continua. Los archivos se leen tal como están cuando se ejecuta la consulta, por lo que aparecen nuevas líneas a medida que la aplicación las escribe y se procesa el archivo; no se realiza según un horario fijo nocturno, pero tampoco se realiza un seguimiento en tiempo real.

Para plantear una pregunta sobre las últimas semanas y obtener la respuesta en una hoja de cálculo o un informe programado, esa es la forma útil y requiere mucha menos maquinaria que una pila de troncos.

Mi registro contiene campos que no has incluido en la lista. ¿Se han perdido?

No. En los formatos JSON y apt, todo lo que no se asigna a una columna con nombre se mantiene en un datos En lugar de descartarse, se conserva la columna, por lo que un ID de solicitud, un inquilino o una duración registrada aún se pueden consultar. Los objetos anidados se convierten en nombres separados por puntos al ingresar.

También se conserva una línea que no coincide en absoluto con el formato fijado, como una fila sin formato con una explicación adjunta, de modo que un cambio de formato inesperado se muestra como algo visible en lugar de como un hueco silencioso en los números.

¿Qué hay del historial de paquetes de Red Hat, Fedora o Alpine?

No hay perfil para dnf, ¡Qué rico! o APK Actualmente, no existe un equivalente para Windows. Los dos formatos de paquete que se mencionan son el registro de dpkg y el historial de apt, que abarca Debian y Ubuntu.

Los registros de tu aplicación no se ven afectados por nada de esto; los formatos JSON y de texto no dependen de la distribución en la que se encuentren. Y si no estás seguro de cómo se reconocerá una de tus carpetas, la prueba de conexión informa de lo que encontró antes de que confirmes nada.

Tu solicitud ya lo escribió.

Conecta una carpeta de registros y ejecuta tu primera consulta en pocos minutos. Plan gratuito, sin tarjeta de crédito, sin cambios en la forma en que registras los datos.

Solo lectura · Solo conexión saliente · Tus registros permanecen en tu servidor