JSON e log dell'applicazione Nuovo
Collegare Registri delle applicazioni per Excel, Fogli e IA
Il log della tua applicazione, con le tracce dello stack ancora allegate. Righe JSON da ECS, Serilog, pino o Bunyan. timestamp [LIVELLO] logger: messaggio testo, dove una traccia dello stack di quaranta righe rimane unita alla riga che l'ha generata invece di diventare quaranta righe inutili. E, su Debian e Ubuntu, i due log che registrano cosa è cambiato sul sistema.
La cartella dei log diventa una tabella in base alla quale è possibile raggruppare i dati.
Non è grep e non è uno stack di log. Query Streams legge i file che la tua applicazione già scrive, ne blocca il formato e ti fornisce colonne tipizzate: così, "quale logger sta generando più errori questa settimana" si risolve con una sola query anziché con un pomeriggio di lavoro. Una riga che il parser non riesce a leggere viene conservata come riga con una motivazione, anziché essere ignorata silenziosamente.
shopfront-api/app.jsonlJSON
shopfront-worker/app.logtesto
cronologia.logappartamentoRotazioni, archivi compressi e file riletti: gestiti
SELEZIONARE app, logger,
contare(*) AS errori
DA set di file.eventi
DOVE livello = 'ERRORE'
GRUPPO PER app, logger
ORDINATO DA errori DESCAggiungilo al database della tua applicazione nella stessa query
I file che la tua app scrive già, ora una tabella su cui puoi creare report
Due forme scrive la tua app, due scrive la scatola
Ogni scheda indica con precisione i file letti da Query Streams e il contenuto che se ne ricava. Non è necessario adottare una libreria di logging o modificare un formato per far funzionare il tutto: i formati supportati sono quelli già prodotti di default da questi strumenti.
Registri delle applicazioni supportati
4 formati
righe JSONECS, Serilog compatto, pino, Bunyan
- Un oggetto JSON per riga in
.jsonl,.ndjsono*-json.log - I nomi dei campi ECS vengono mappati direttamente —
livello di log,nome host,nome del servizio - Anche Serilog compact, pino e Bunyan read: stesse chiavi, ortografia diversa.
- Gli oggetti annidati si appiattiscono in colonne punteggiate; tutto ciò che non è mappato finisce in
dati - Allega; rotazioni datate e
.gzseguito
Registro testualetimestamp, livello, logger, messaggio
- La forma predefinita: un timbro, un livello tra parentesi, un registratore, un messaggio
- Una traccia dello stack è collegata alla riga che l'ha generata: una riga, non quaranta
A …,Causato da:eTracciamentotutto letto come continuazione- Letture
.tronco d'albero,.fuorie.TXTI file JSON sono esclusi per dichiarazione - millisecondi in virgola o punto; l'orologio locale viene letto come quello dell'agente
dpkgregistro del pacchetto
- Una riga per ogni fase del processo di confezionamento:
installare,aggiornamento,rimuovere,configurare pacchetto,versioneenuova_versionecome proprie colonnestatole linee trasportano lo stato dpkg ha spostato il pacchetto in/var/log/dpkg.loge il suo numero.gzrotazioni- Nessun fuso orario nel file; letto come orologio locale dell'agente.
appartamentoregistro storico
- Uno
Chiave: valoreblocco per transazione, riga vuota tra i blocchi - L'esatto
riga di comandoche è andato avanti e cosa ha cambiato Data di inizioè l'ora dell'evento;Data di fineè una colonna a sé stante- Una transazione incompiuta attende invece di essere divisa a metà
/var/log/apt/history.loginoltre il suo.gzrotazioni
Con ogni nuova versione dell'Agent vengono aggiunti nuovi formati di log per applicazioni e pacchetti. Poiché gli Agent si aggiornano automaticamente, un formato aggiunto successivamente verrà visualizzato nel connettore senza che alcuno debba intervenire sul server.
Il registro della tua applicazione da ogni regione, leggi dove corre
Raramente un'applicazione è composta da un solo server. Un'API si trova in una regione cloud, i worker in un'altra, e qualcosa è ancora installato su un server in ufficio. In ogni sede è in esecuzione un Network Agent che legge i file di log nella posizione in cui si trovano già e si connette a Query Streams. Dal punto di vista del firewall, si tratta di una normale connessione in uscita: non c'è nulla da aprire, nessuna VPN da configurare e nessuna libreria di logging da aggiungere all'applicazione.
Tre connessioni in uscita, un unico punto per interrogarle: nessuna porta in entrata, nessuna VPN, nessuna modifica al firewall.
Un agente per sede
Un agente copre un'intera posizione anziché un singolo registro: le righe JSON, il registro di testo e la cronologia dei pacchetti in quella posizione diventano ciascuno un proprio connettore File Set sullo stesso agente. Il piano gratuito esegue un singolo agente, mentre i piani superiori ne eseguono di più.
1 posizione = 1 agente = molti connettori
Niente da aprire
L'agente stabilisce una connessione in uscita crittografata, e sia la richiesta in uscita che le righe di risposta viaggiano attraverso di essa. Nessuna porta in entrata, nessuna VPN, nessuna modifica al firewall da richiedere e nulla viene aggiunto alla tua applicazione per farlo funzionare.
un collegamento, in entrambe le direzioni
Un'unica query tra regioni
Ogni fonte in un query federata Assegna un nome al proprio agente, in modo che una singola istruzione possa visualizzare gli errori dell'API in una regione accanto a quelli dei worker in un'altra, oppure accanto alla cronologia del pacchetto che spiega quando è iniziato. Incluso nelle versioni Business ed Enterprise.
2 regioni → 1 set di risultati
Si tengono aggiornati
Gli agenti si aggiornano automaticamente, quindi un formato di log aggiunto in una versione successiva raggiunge ogni posizione senza bisogno di un'implementazione specifica. Questo è ciò che rende l'elenco precedente un punto di partenza, piuttosto che un elenco fisso.
nuovi formati arrivano con l'Agente
Stack trace, clock e lookalike
Il file di log di un'applicazione è il file più disordinato del server: un singolo evento può estendersi su quaranta righe, due formati non correlati possono apparire identici e metà di questi file non riporta alcuna informazione sul fuso orario. Ciascuno di questi elementi viene gestito tramite dichiarazione, anziché per tentativi.
Un solo evento, non quaranta file
Una riga che non si apre con un timestamp appartiene alla riga sopra di essa. È così che una traccia dello stack rimane collegata al messaggio che l'ha generata, invece di frantumarsi in decine di frammenti che non GRUPPO PER si può rimontare.
linee di continuazione → unite, fino a 200
Due tronchi che si assomigliano
Una riga di applicazione JSON, un'envelope Docker e una riga di accesso JSON di un server web sono tutte "JSON con un timestamp al suo interno". Il formato è determinato dal contenuto della riga, quindi ognuna finisce su un profilo diverso, senza mai diramarsi in base al nome del file.
È il contenuto a decidere, non il nome del file.
Un orologio senza fuso orario
I log di testo, dpkg e apt scrivono tutti l'ora locale dell'host senza alcun offset. Invece di fare supposizioni, questi profili dichiarano che il timestamp è locale e lo leggono come fuso orario dell'agente, e la stringa originale viene comunque mantenuta in una colonna separata.
orologio locale → dichiarato, mai dedotto
Transazione ancora in corso
apt scrive immediatamente l'inizio di un aggiornamento e la riga finale solo quando dpkg termina, il che può richiedere anche minuti. Un blocco che non è ancora stato chiuso rimane in attesa, invece di essere diviso a metà e risultare come un evento senza inizio.
attende la data di fine, fino a 30 minuti
- tempo_evento
- 2026-09-08 14:02:11.431
- livello
- ERRORE
- registratore
- Cliente di pagamento
- messaggio
- caricamento non riuscito ↵ java.net.SocketTimeoutException: Timeout di lettura ↵ a …
Le colonne che ottieni effettivamente
Non si tratta di un blocco di testo con un timestamp accanto. Ogni formato viene analizzato e suddiviso in colonne tipizzate che è possibile filtrare, raggruppare e aggregare direttamente; inoltre, laddove la tua applicazione registri JSON strutturato, anche i suoi campi vengono scomposti in colonne.
Ogni fila trasporta anche tempo_evento, il timbro grezzo da cui è stato letto e il file da cui proviene. I registri delle applicazioni sono identificati da app e i due registri dei pacchetti da ospite — entrambi i dati vengono estratti dalla cartella in cui si trova il file, quindi una cartella per servizio o per macchina fornisce una colonna pulita per il raggruppamento. Il registro di testo a tre colonne è intenzionale: invece di ipotizzare i campi che un messaggio in formato libero non possiede in modo affidabile, il messaggio viene mantenuto per intero, con la relativa traccia dello stack al suo interno.
Dove possono essere archiviati i dati del log della tua applicazione
I file di log non sono un vicolo cieco. Collega la cartella una sola volta e la stessa connessione di sola lettura alimenterà tutte le superfici supportate da Query Streams: nessuna seconda configurazione, nessuna seconda copia dei dati e nessun trattamento diverso rispetto a un connettore di database.
Registri delle applicazioni in Excel
Microsoft Excel · Componente aggiuntivo di Excel
Importa i risultati dei log delle applicazioni in tempo reale direttamente in un foglio di lavoro e aggiornali su richiesta: Excel per desktop, Excel Online, Microsoft 365.
Come funziona ExcelRegistri delle applicazioni su Fogli Google
Componente aggiuntivo Fogli
Esegui una query del registro applicazioni salvata dalla barra laterale e trascina le righe nel foglio. I collaboratori che condividono il foglio possono aggiornarlo autonomamente.
Come funziona Google SheetsRegistri delle applicazioni del server MCP
Client Claude, Cursor e MCP · Server MCP
Concedi a un assistente IA l'accesso in sola lettura al log dell'applicazione con lo schema necessario per scrivere query SQL corrette, senza fornire credenziali nella chat.
Come funziona MCPAPI REST dei log delle applicazioni
Endpoint dell'HT
Pubblica una query del log dell'applicazione come endpoint JSON autenticato, accessibile a qualsiasi applicazione, con specifiche OpenAPI 3.1 e raccolte predefinite per Postman, Insomnia e Hoppscotch. Non viene aperta alcuna porta del database.
Come funziona un'API RESTRegistri delle applicazioni in Airtable
Piattaforma di automazione
Sincronizza le righe del log dell'applicazione in una base Airtable a intervalli regolari, oppure recuperale tramite uno script di automazione di Airtable.
Come funziona AirtableRegistri delle applicazioni in Baserow
Piattaforma di automazione
Alimenta una tabella Baserow dai log dell'applicazione tramite l'endpoint REST, sia in locale che nel cloud Baserow.
Come funziona BaserowRegistri delle applicazioni in SeaTable
Piattaforma di automazione
Mantieni aggiornata la base di SeaTable con i dati di log dell'applicazione senza esportare un file o esporre il database.
Come funziona SeaTableRegistri delle applicazioni in Smartsheet
Piattaforma di automazione
Trasferisci i risultati del registro delle applicazioni in una griglia di Smartsheet in modo che i piani e i report leggano dal sistema di origine e non dall'esportazione della settimana precedente.
Come funziona SmartsheetRegistri delle applicazioni per Anvil
Anvil Works · Piattaforma per app
Esegui il backup di un'applicazione Anvil Python con il log dell'applicazione tramite l'endpoint REST anziché incorporare le credenziali del database nell'applicazione.
Come funziona AnvilRegistri delle applicazioni in Power BI
Power Query M
Incolla la query Power Query M generata nell'editor avanzato di Power BI e il report leggerà i risultati in tempo reale dai log dell'applicazione tramite HTTPS, senza driver ODBC né porte di database aperte.
Come funziona Power BIRegistri delle applicazioni, avvisi e report
Slack · Discord · Email · Webhook
Imposta una query per il log dell'applicazione in modo che venga eseguita una query e i risultati vengano recapitati a Slack, Discord, via e-mail o tramite un webhook firmato, oppure trattieni il messaggio finché il numero di righe, la soglia o la variazione percentuale non superano il valore da te impostato.
Come funzionano gli avvisi e i reportCiò che questo deliberatamente non fa
Non si tratta di un flusso di dati in tempo reale. Query Streams legge i file così come sono sul disco quando si esegue la query, quindi un picco di errori viene visualizzato come righe anziché come un flusso di dati da monitorare. Se è necessario ricevere avvisi in frazioni di secondo su una riga mentre viene stampata, una pipeline di log è lo strumento più adatto e lo specificheremo chiaramente.
Il log della tua applicazione contiene tutto ciò che l'applicazione stampa, ed è bene precisarlo: se registra un token, un indirizzo email del cliente o l'intero corpo di una richiesta, quella stringa è già presente nel file e sarà presente anche nella colonna. Non esiste una mappatura dei campi da escludere come nel caso dei log dei server web. Tratta la tabella risultante con la stessa cura che riserveresti al file.
Alcuni degli elementi che i log del pacchetto possono registrare vengono riconosciuti dalla forma piuttosto che dimostrati dalla cattura. dpkg documenta una riga del file di configurazione e purga e scomparire azioni; documenti appropriati Richiesto da, Errore, Purga, Reinstallare e DeclassamentoNessuno di questi è apparso nei log su cui sono stati creati questi profili, quindi vengono dichiarati, non dimostrati, e nessuno dei log dei pacchetti copre le distribuzioni basate su RPM o Windows.
Un dettaglio di configurazione, non un limite: la colonna "Identità" deriva dalla sottocartella in cui si trova il file, che si trova al di sotto della cartella specificata. Se si configura un connettore su una directory che contiene una sottocartella per servizio o per macchina, si ottengono nomi utili gratuitamente; se invece si configura direttamente una directory con file sparsi, ogni riga prenderà il nome da quella directory. Vale la pena dedicargli trenta secondi durante la configurazione.
Il resto segue lo schema usuale. L'agente si connette in uscita e legge i file; non viene installato nulla insieme all'applicazione, non viene scritto nulla in risposta, non viene collegato o strumentato alcun processo e l'accesso è in sola lettura.
Come funziona
Tre semplici passaggi, senza alcuna modifica al modo in cui la tua applicazione registra i dati.
Indica la cartella dei log
Concedi ad un agente Query Streams l'accesso in lettura al percorso in cui i log vengono già salvati: la cartella accanto alla tua applicazione, una condivisione su cui li raccogli o /var/log per la cronologia del pacchetto.
Riconosce il formato
Query Streams identifica il formato dal contenuto delle righe, non dal nome del file; pertanto, una copia rinominata viene comunque letta correttamente e un file che non corrisponde al formato predefinito viene archiviato con una motivazione, anziché corrompere la tabella.
Interrogalo o unisciti a esso
Esegui query SQL dal portale, importale direttamente in Microsoft Excel o Fogli Google, oppure utilizza una query federata per unire il registro degli errori agli ordini e agli utenti presenti nel database dell'applicazione, il tutto con un'unica istruzione.
FAQ sul registro delle applicazioni
Quale libreria di logging devo utilizzare?
Nessuno in particolare. Se si scrivono righe JSON, i nomi dei campi di Elastic Common Schema vengono mappati direttamente e il formato compatto di Serilog, pino e Bunyan vengono letti correttamente perché utilizzano le stesse chiavi di primo livello con ortografie diverse: il timestamp viene ricavato dal nome usuale effettivamente presente nella riga.
Se scrivi testo semplice, l'ordinario timestamp [LIVELLO] logger: messaggio Shape è un formato supportato a tutti gli effetti. Non c'è nulla da adottare né da riconfigurare.
Che cosa succede esattamente a una traccia dello stack?
Rimane associato all'errore che lo ha generato. Un record inizia da una riga che si apre con un timestamp e ogni riga successiva che non lo fa viene trattata come una sua continuazione, che è esattamente la forma di una traccia Java, .NET o Python. La classe dell'eccezione, la A … cornici, un Causato da: catena e un pitone Tracciamento Tutte le intestazioni vengono riconosciute come appartenenti alla riga superiore.
La differenza pratica è che il conteggio degli errori conta effettivamente gli errori. Senza questo meccanismo, una singola eccezione può gonfiare i numeri in base al numero di frame che ha generato, e il messaggio che si desidera effettivamente leggere potrebbe trovarsi in una riga diversa rispetto al nome della classe.
Perché dpkg e apt sono inclusi nei log delle applicazioni?
Perché rispondono alla domanda che ti poni subito dopo "quando ha iniziato a verificarsi questo problema?", ovvero "cosa è cambiato?". Sono i log del gestore dei pacchetti, nella stessa struttura di cartelle, letti allo stesso modo, e rappresentano la fonte di informazioni più utile a cui un log degli errori possa essere collegato.
La cronologia di apt è quella più leggibile: un blocco per transazione con il comando esatto eseguito e cosa ha installato, aggiornato o rimosso. Il log di dpkg è più dettagliato, una riga per ogni passaggio di installazione del pacchetto. Grazie a questi due log è possibile associare una data a una modifica, anziché doverla ricordare a memoria.
Posso collegare i miei errori all'aggiornamento che li ha causati?
Sì, con una cosa da sapere: un connettore legge un formato, quindi il registro dell'applicazione e /var/log/apt/history.log Sono due connettori anziché uno. Una query federata li unisce in un'unica istruzione, lo stesso meccanismo che unisce un file di log a un database di produzione.
Questa è la query su cui vale la pena costruire questa famiglia: errori per ora accanto alle transazioni eseguite quel giorno, entrambe lette da file che nessuno ha dovuto spedire da nessuna parte.
È in tempo reale?
Si tratta di un servizio on-demand, non in streaming. I file vengono letti così come sono al momento dell'esecuzione della query, quindi le nuove righe vengono visualizzate non appena l'applicazione le scrive e il file viene prelevato, non secondo una pianificazione fissa notturna, ma nemmeno in tempo reale.
Per porre una domanda delle ultime settimane e ottenere la risposta in un foglio di calcolo o in un report programmato, questa è la forma utile e richiede molta meno attrezzatura rispetto a una catasta di tronchi.
Il mio registro contiene campi che non hai elencato. Sono andati persi?
No. Nei formati JSON e apt, tutto ciò che non corrisponde a una colonna denominata viene mantenuto in un dati colonna anziché essere scartata, quindi un ID richiesta, un tenant o una durata che registri sono ancora interrogabili. Gli oggetti annidati vengono appiattiti in nomi puntati durante l'inserimento.
Anche le righe che non corrispondono al formato predefinito vengono mantenute, come righe separate con una motivazione allegata, in modo che un eventuale cambio di formato imprevisto risulti visibile anziché come un'interruzione silenziosa nei dati.
E per quanto riguarda la cronologia dei pacchetti di Red Hat, Fedora o Alpine?
Non esiste un profilo per dnf, gnam o apk oggi, e non esiste un equivalente per Windows. I due formati di pacchetto qui sono log di dpkg e history di apt, che coprono Debian e Ubuntu.
I log della tua applicazione non sono influenzati da nulla di tutto ciò: i formati JSON e di testo non dipendono dalla distribuzione in cui si trovano. E se non sei sicuro di come verrà riconosciuta una tua cartella, la funzione "Test connessione" ti mostrerà cosa ha trovato prima che tu confermi qualsiasi cosa.
La tua applicazione l'ha già scritto
Collega una cartella di log ed esegui la tua prima query in pochi minuti. Piano gratuito, nessuna carta di credito richiesta, nessuna modifica al modo in cui registri i log.
Sola lettura · solo connessione in uscita · i tuoi log rimangono sul tuo server












