Logo Custom Logs

Qualsiasi registro di testo Nuovo

Collegare Registri personalizzati per Excel, Fogli e IA

Il formato che desideri utilizzare non è presente nell'elenco. Descrivilo una volta, poi esegui la query. Alcuni log vengono scritti da software utilizzati esclusivamente dalla tua azienda. Indica a Query Streams la cartella, specifica dove inizia un record, quale grammatica utilizza, dove si trova il timestamp e come si chiamano le colonne; a quel punto, sarà una tabella come tutte le altre. Le righe che non corrispondono alla descrizione vengono mantenute come righe grezze e non vengono mai eliminate.

1connessione
0porti in entrata
sola letturaimposto
6 grammatiche tra cui scegliere 6 modi per segnare un record Linee non corrispondenti mantenute, non abbandonate Sola lettura · nessun dispositivo installato sul server
La grande idea

Se si tratta di un file di testo, può essere una tabella.

Tre file in tre formati diversi: uno scritto da un'applicazione aziendale, uno da un processo batch e uno da una macchina che non riceve più assistenza dal 2011. Descrivete ciascun file una sola volta e le colonne che avete nominato saranno quelle che interrogherete. Nessun raccoglitore da eseguire, nessun indice da gestire, nessuna seconda copia dei dati.

Cartella di registroi tuoi file
registro di controllo dell'impiantochiave=valore
batch-2026-09-10.txtlarghezza fissa
robot.tracedelimitato

Rotazioni, archivi compressi e file riletti: gestiti

what-went-wrong.sqlSQL
SELEZIONARE nome_file, gravità,
       contare(*) AS linee
DA   set di file.eventi
DOVE  gravità IN ('AVVISARE','ERRORE')
GRUPPO PER nome_file, gravità
ORDINATO DA linee DESC
Risultatole tue colonne
nome_filegravitàlinee
registro di controllo dell'impiantoERRORE268
lotto-2026-09-10AVVISARE154
robot.traceERRORE61
registro di controllo dell'impiantoAVVISARE9

C'è un gravità colonna perché hai detto che ce n'era una

Cifre illustrative: la forma della risposta, non un parametro di riferimento

Grammatiche

Sei modi per dire cosa significa una linea

Quasi ogni registro di testo mai scritto ha una di queste sei forme. Trova la tua qui sotto, e la riga di esempio di solito ti aiuterà a capirla più velocemente che a leggere la descrizione.

Grammatiche che puoi scegliere

6 grammatiche
DelimitatoCSV, TSV, pipe, qualsiasi cosa
04:11:07,web-01,ERRORE,disco pieno
  • Specifica il separatore: virgola, tabulazione, punto e virgola, barra verticale, o qualsiasi altro separatore utilizzato dal file.
  • I campi racchiusi tra virgolette vengono rispettati, quindi una virgola all'interno di un messaggio rimane al suo interno
  • Una riga di intestazione può assegnare un nome alle colonne invece di doverle digitare.
  • Il separatore decimale è a tua discrezione, per i file in cui è una virgola
Chiave = valorecoppie autodescrittive
ts=04:11:07 host=web-01 level=error
  • Le chiavi nella riga diventano le colonne: non vanno ripetute.
  • Entrambi i separatori sono tuoi: ciò che si trova tra la chiave e il valore e tra le coppie
  • Un prefisso davanti alle coppie — un timestamp, un tag — può essere omesso
  • Comune nei log di applicazioni e macchine che sono stati scritti per essere analizzati
Modelli Grokper quelli goffi
%{TIME:ts} %{LOGLEVEL:lvl} %{DATA:msg}
  • Le catture denominate diventano colonne: la via di fuga quando nient'altro funziona
  • Le librerie di modelli alla base dei profili integrati sono lì per essere prese in prestito
  • Per un file con più di una forma di linea, è possibile provare diversi modelli in sequenza.
  • L'impostazione predefinita iniziale è una messaggio colonna, poi la restringi
righe JSONun oggetto per riga
{“ts”:”04:11:07″,”level”:”error”}
  • I campi diventano colonne e tu scegli quali desideri visualizzare.
  • Un oggetto annidato viene mantenuto integro come JSON anziché essere appiattito o eliminato.
  • Il wrapper di un runtime di container può essere estratto per interrogare il record interno
  • Ciò che la maggior parte delle librerie di logging moderne scrivono quando viene richiesto loro di essere strutturato
Direttiva di intestazioneil file nomina le proprie colonne
#Campi: data ora s-ip cs-metodo
  • Una riga vicino alla parte superiore indica i campi, e le colonne la seguono
  • Il formato esteso W3C e qualsiasi altra cosa che abbia preso in prestito l'idea
  • Si nomina la direttiva, quindi non è necessario scriverla #Campi
  • Non c'è nulla da sincronizzare: il file è la fonte dell'elenco delle colonne.
Larghezza fissacolonne per posizione
20260910041107 web-01 ERROR
  • Assegna a ciascuna colonna un nome, un punto di inizio e una lunghezza, senza bisogno di separatori.
  • La risposta corretta per i file in cui un campo può contenere il delimitatore
  • Ancora ciò che scrivono mainframe, controllori e molte apparecchiature industriali
  • L'imbottitura viene tagliata, quindi un valore non arriva avvolto negli spazi
Chiedi un integratose è un formato che hanno anche altri

Descriverlo manualmente è la via più rapida. Se si tratta di un formato utilizzato da molti, preferiamo distribuirlo come profilo predefinito che l'Agent imposta per tutti: il connettore si collega direttamente a una richiesta e viene inviato tramite un aggiornamento dell'Agent.

È bene chiarire subito cosa c'è dietro a questo. I profili integrati nelle altre pagine di registro sono stati creati e testati con file reali acquisiti, e lo specifichiamo chiaramente. Questo preset non può essere — il formato è quello che descrivi, quindi non esiste una struttura fissa che possiamo testare in anticipo. Ciò che lo sostituisce è l'anteprima: il test di connessione confronta la tua descrizione con i tuoi file e ti mostra cosa è stato analizzato correttamente e cosa no, prima che tu confermi qualsiasi cosa.
Ogni sito

Descrivilo una volta, usalo ovunque tu corra

La descrizione fa parte del connettore, non di una macchina. Le stesse cinque parti che leggono il file di audit nella sede centrale lo leggono nello stabilimento e in una seconda regione, e ogni sito esegue un agente di rete che legge i file nella posizione in cui si trovano e si connette a Query Streams. Per quanto riguarda il firewall, si tratta di una normale connessione in uscita, quindi non c'è nulla da aprire e nessuna VPN da configurare.

Direzione Un'applicazione aziendale che crea il proprio file di audit chiama in uscita
Piano di produzione Un controller che scrive record batch a larghezza fissa chiama in uscita
eu-ovest La stessa app, la stessa descrizione, una seconda cartella chiama in uscita

Tre connessioni in uscita, un unico punto per interrogarle: nessuna porta in entrata, nessuna VPN, nessuna modifica al firewall.

Tu dai un nome all'identità

Ogni riga è etichettata con la sua provenienza. Per impostazione predefinita, si tratta del nome del file; se la macchina o il sito sono un campo nella riga, o una parte del nome del file, è possibile impostare l'etichetta su tale informazione e raggruppare i dati in base ad essa.

nome del file · una colonna · parte del nome del file

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 nessun demone di raccolta aggiunto a un server che ne ha già uno in esecuzione.

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 un'istruzione possa inserire un log personalizzato accanto al database che la spiega, ovvero il file batch accanto all'ordine a cui appartiene. Incluso nelle versioni Business ed Enterprise.

1 registro + 1 database → 1 set di risultati

Scritto una volta, non per sito

La descrizione di un formato è un'operazione da eseguire una sola volta. Una seconda cartella con la stessa forma rappresenta un secondo connettore con la stessa descrizione, quindi la sua implementazione in un'altra posizione è una fase di configurazione, non una nuova indagine.

1 descrizione → ogni cartella simile

La parte difficile

Le quattro domande a cui un file di testo non può rispondere

Analizzare la riga è la parte più semplice. Queste sono le cose che un file di log non ti dice di se stesso, e ognuna di esse è qualcosa che dichiari tu, non qualcosa che noi supponiamo.

Dove inizia e finisce un record

Una traccia dello stack rappresenta un singolo evento su venti righe, e leggerla come venti eventi produce un conteggio errato. Esistono sei modi per delimitare il confine: una riga, un pattern che apre un record, una riga vuota, un marcatore di apertura e chiusura, una regola di continuazione o un conteggio fisso.

1 record non è sempre 1 riga

La codifica non ha un valore predefinito

Questo è l'unico campo lasciato vuoto, volutamente. Presumere che UTF-8 su un file Latin-1 non crei problemi: il sistema altera silenziosamente ogni carattere accentato e te ne accorgi solo mesi dopo. Quindi viene richiesto una sola volta, prima della prima sincronizzazione, anziché essere dato per scontato.

scelto, mai assunto

L'anno in cui la linea non ha

Molti formati stampano il mese e il giorno e poi si fermano. Ci sono tre modi per risolvere la questione: l'anno è presente nella riga, proviene dall'ora di modifica del file stesso, oppure viene letto dal nome del file, che è dove di solito viene conservato un archivio datato.

nella riga · dal file · dal nome

Nulla è stato contato due volte

Ogni file viene identificato tramite un'impronta digitale costituita dai suoi primi 4 KB, in modo che un file rinominato o ruotato venga riconosciuto anziché essere riletto dall'inizio. Sono riconosciuti dieci schemi di rotazione per nome, più nessuno, per i file che semplicemente aumentano di dimensioni.

Hash con prefisso di 4 KB · Finestra di 20.000 record

La descrizione

Cinque parti, e poi è una tabella

Ecco tutto ciò che devi inserire. Ogni profilo predefinito nelle altre pagine di registro è composto da queste stesse cinque parti, compilate da noi e bloccate dall'Agente: qui sono le tue.

Limite di recordcosa conta come un evento
una rigaschema di aperturariga vuotaindicatori di inizio e fineregola di continuazioneconteggio fisso
Grammaticacome si divide un record
delimitatochiave=valoregrokrighe JSONdirettiva di intestazionelarghezza fissa
Timestampquale parte è il tempo
campoformatofuso orariomodalità annocomposto da due campivalori che significano nullo
Colonnenomi e tipi
stringaintbigintraddoppiarebooltimestamptimestamptzdatajson
Crescitacome cambiano i file
appendicischema di rotazionesuffissi compressianello di filelunghezza massima della linea
Le impostazioni predefinite sono volutamente modeste, ed è proprio questo il design: uno messaggio colonna per riga e l'ora dell'evento ricavata dall'ora di modifica del file. Questo è sufficiente per una prima sincronizzazione di successo su quasi tutto, quindi si perfeziona rispetto all'anteprima finché le colonne non sono quelle desiderate. Ogni riga contiene anche il file da cui proviene e tutto finisce in un'unica tabella. set di file.eventi.
Un collegamento, ogni superficie

Dove possono essere inseriti i dati di log personalizzati

Un formato utilizzabile solo da te non è comunque un vicolo cieco. Descrivi 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.

Supportato

Registri personalizzati in Excel

Microsoft Excel · Componente aggiuntivo di Excel

Importa i risultati dei log personalizzati in tempo reale direttamente in un foglio di lavoro e aggiornali su richiesta: Excel per desktop, Excel Online, Microsoft 365.

Come funziona Excel
Supportato

Registri personalizzati per Fogli Google

Componente aggiuntivo Fogli

Esegui una query di log personalizzata salvata dalla barra laterale e trascina le righe nel foglio. I collaboratori che condividono il foglio possono aggiornarlo autonomamente.

Come funziona Google Sheets
Supportato

Server MCP con log personalizzati

Client Claude, Cursor e MCP · Server MCP

Concedi a un assistente IA l'accesso in sola lettura a un registro personalizzato con lo schema necessario per scrivere query SQL corrette, senza fornire credenziali nella chat.

Come funziona MCP
Supportato

API REST per i log personalizzati

Endpoint dell'HT

Pubblica una query di log personalizzata 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 REST
Supportato

Registri personalizzati per Airtable

Piattaforma di automazione

Sincronizza le righe di registro personalizzate in una base Airtable secondo una pianificazione oppure recuperale all'interno di uno script di automazione di Airtable.

Come funziona Airtable
Supportato

Registri personalizzati per Baserow

Piattaforma di automazione

Alimenta una tabella Baserow dai dati di un log personalizzato tramite l'endpoint REST, sia in locale che nel cloud di Baserow.

Come funziona Baserow
Supportato

Registri personalizzati per SeaTable

Piattaforma di automazione

Mantieni aggiornato il database di SeaTable con dati di log personalizzati senza esportare un file o esporre il database stesso.

Come funziona SeaTable
Supportato

Registri personalizzati per Smartsheet

Piattaforma di automazione

Trasferisci i risultati dei log personalizzati in una griglia di Smartsheet in modo che piani e report leggano dal sistema di origine e non dall'esportazione della settimana precedente.

Come funziona Smartsheet
Supportato

Registri personalizzati per Anvil

Anvil Works · Piattaforma per app

Esegui il backup di un'app Anvil Python con log personalizzato tramite l'endpoint REST anziché incorporare le credenziali del database nell'app.

Come funziona Anvil
Supportato

Log personalizzati per Power BI

Power Query M

Incolla la query Power Query M generata nell'editor avanzato di Power BI e il report leggerà i risultati del log personalizzato in tempo reale tramite HTTPS, senza driver ODBC né porte di database aperte.

Come funziona Power BI
Supportato

Avvisi e report personalizzati sui log

Slack · Discord · Email · Webhook

Imposta una query di log personalizzata per una pianificazione e fai in modo che le righe vengano recapitate a Slack, Discord, via e-mail o tramite un webhook firmato, oppure trattieni il messaggio finché il numero di righe, una soglia o una variazione percentuale non superano il valore da te impostato.

Come funzionano gli avvisi e i report
Quello che merita una seconda occhiata è Excel: un log che nessun altro supporta è solitamente un log che qualcuno sta già riscrivendo manualmente in un foglio di calcolo. Se si indirizza il foglio di lavoro alla query, quel lavoro cessa di esistere. Non sono ancora state scritte guide dettagliate specifiche per i log; le pagine collegate descrivono il funzionamento di ciascuna interfaccia.

Ciò che questo deliberatamente non fa

Di' prima la più grande: prova i profili integrati prima di ricorrere a questoEsegui il test di connessione e l'agente ti offre l'impostazione predefinita più vicina che riconosce, un'impostazione predefinita che l'agente ha bloccato ed è stata testata con file reali, a differenza della descrizione che hai scritto questo pomeriggio. Questa impostazione predefinita è la via di fuga per i formati che nessun altro supporta, non il punto di partenza predefinito.

Nessun sistema legge i tuoi log per determinarne il formato. L'offerta di corrispondenza più vicina si basa sul confronto della struttura del tuo file con i profili predefiniti: si tratta di un confronto con formati noti, non di un modello che analizza i tuoi dati. Se nessuna corrispondenza viene trovata, la descrizione spetta a te e l'anteprima ti permette di verificarla.

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'operazione non riuscita viene visualizzata come righe anziché come un flusso di dati da monitorare. Se è necessario ricevere avvisi in frazioni di secondo su una riga durante la stampa, una pipeline di log è lo strumento più adatto.

Legge solo testo. Archivi e database binari nella cartella — .zip, .taxiI file di registro non elaborati vengono lasciati intatti anziché essere aperti e interpretati. Le rotazioni compresse di un registro di testo vengono lette; un contenitore pieno di qualcos'altro no.

La descrizione può essere errata, motivo per cui non viene scartato nulla. Una riga la cui grammatica non corrisponde viene mantenuta come riga grezza con una motivazione allegata, in modo che un errore risulti visibile e interrogabile, anziché come un vuoto silenzioso. Correggi la descrizione e risincronizza. Il resto segue il modello usuale: l'agente si connette in uscita e legge i file, nulla viene installato sul server, nulla viene scritto e l'accesso è in sola lettura.

Come funziona

Tre passaggi, e non viene installato nulla sul server.

01

Indica la cartella

Concedi a un agente di Query Streams l'accesso in lettura alla posizione in cui si trovano già i file: una directory sul server, una condivisione mappata o la cartella in cui un processo scrive il suo output.

02

Descrivi il formato

Esegui prima un test di connessione: se la forma corrisponde a una predefinita, utilizza quella offerta e hai finito. In caso contrario, compila le cinque parti e osserva l'anteprima finché le colonne non appaiono corrette.

03

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 file al database che gli fornisce il contesto, il tutto con un'unica istruzione.

FAQ sui log personalizzati

Quando dovrei usare questa opzione al posto di un profilo predefinito?

Quando non c'è altra soluzione. I profili predefiniti coprono controller di macchine, server web, container, framework applicativi e log di sistema, e ognuno di essi è stato scritto e testato su file reali: quindi, se il tuo log rientra in una di queste categorie, selezionarlo è sia più semplice che più collaudato rispetto a descriverlo manualmente.

Esegui un test di connessione prima di decidere. L'agente confronta la struttura del tuo file con i profili predefiniti e ti propone quello più simile che riconosce, quindi la risposta proviene dai tuoi file effettivi e non da una supposizione. Consulta la descrizione se il test non restituisce alcun risultato.

Devo conoscere le espressioni regolari?

Di solito no. Cinque delle sei grammatiche non necessitano di alcun modello: un file delimitato richiede un separatore, un file chiave=valore descrive se stesso, le righe JSON descrivono se stesse, una direttiva di intestazione assegna un nome alle proprie colonne e la larghezza fissa richiede un inizio e una lunghezza per colonna.

Grok è il sesto strumento ed è la via d'uscita per le linee davvero complesse. Anche in questo caso, si tratta perlopiù di assemblare elementi denominati — un timestamp, un livello, il resto — e le librerie di pattern alla base dei profili integrati sono lì per essere utilizzate, anziché partire da una linea vuota.

Devo per forza scrivere la descrizione correttamente al primo tentativo?

No, e le impostazioni predefinite sono impostate in modo che tu non debba farlo. Di default, la prima sincronizzazione ha successo su quasi tutti i file di testo: uno messaggio una colonna per riga, con l'ora dell'evento ricavata dall'ora di modifica del file. In questo modo si ottiene una tabella funzionante che è effettivamente possibile consultare.

Da lì puoi perfezionare. L'anteprima mostra l'effetto della tua descrizione sulle tue righe, così puoi estrarre un livello di gravità o un numero di lavoro in una colonna separata e vedere il risultato prima di confermare. Modificalo in seguito e risincronizzalo: nulla è andato perso nel frattempo.

I miei eventi si estendono su più righe. È in grado di gestire una traccia dello stack?

Sì, ed è proprio questa l'impostazione di cui le persone hanno più spesso bisogno. Un record non deve necessariamente essere una riga: si può dire che un record inizia quando una riga corrisponde a uno schema (di solito un timestamp sul margine sinistro) e tutto ciò che segue appartiene a quel record fino alla corrispondenza successiva.

Esistono altri cinque modi per tracciare il confine se questa non è la forma desiderata: una linea vuota tra i record, un marcatore di apertura e chiusura, una regola per stabilire cosa si intende per linea di continuazione, oppure un numero fisso di linee. Un'eccezione di venti linee si presenta quindi come un'unica riga contenente l'intera traccia.

E se le righe non avessero alcuna indicazione oraria?

Questo è il caso predefinito e funziona. Quando non viene specificato alcun campo per indicare l'ora, l'ora dell'evento viene ricavata dall'ora di modifica del file, quindi le righe vengono comunque ordinate e rispettano la finestra di conservazione, ma sono accurate rispetto al file anziché alla riga.

Se l'ora è presente nella riga ma suddivisa in due campi (una colonna per la data e una per l'ora, come accade spesso nei file a larghezza fissa e delimitati), è possibile assegnare un nome a entrambi i campi e combinarli in un unico timestamp.

Quale codifica devo scegliere?

UTF-8 è la risposta corretta per la maggior parte dei file creati in questo decennio. È l'unico campo senza un valore predefinito, e questo è voluto: presumere che UTF-8 sia presente in un file Latin-1 non genera un errore, ma altera silenziosamente ogni carattere accentato, e un'alterazione silenziosa è molto peggio di una domanda posta una sola volta.

Se non ne siete sicuri, l'anteprima ve lo dirà: una codifica errata viene visualizzata immediatamente come mojibake nelle righe di esempio. I software Windows più vecchi e le apparecchiature industriali sono solitamente i motivi per cui la risposta non è UTF-8.

Potresti aggiungere il mio formato come predefinito?

Chiedetecelo. Se si tratta di un formato utilizzato da un numero ragionevole di persone (un prodotto commerciale, un framework comune, un'apparecchiatura industriale), preferiamo di gran lunga includerlo come profilo predefinito piuttosto che far descrivere la stessa cosa a ogni cliente. Il connettore rimanda direttamente a una richiesta.

Una soluzione integrata è migliore sia per te che per noi: è configurata dall'Agent, testata con acquisizioni reali e arriva sui tuoi server con un aggiornamento dell'Agent, senza che sia necessario alcun intervento manuale sul connettore.

Che fine fanno le linee che non corrispondono?

Vengono mantenuti, non scartati. Una riga la cui grammatica non corrisponde viene conservata come riga grezza con una motivazione allegata, in modo che una voce anomala, un formato che è cambiato durante il tuo lavoro o una descrizione non ancora del tutto corretta vengano visualizzati e consultati, anziché apparire come una lacuna silenziosa nei tuoi dati.

Questa è la rete di sicurezza che rende ragionevole perfezionare una descrizione. Non si tratta mai di scegliere tra un parser rigoroso che scarta i dati e uno permissivo che restituisce un blocco di testo indistinto: le righe analizzate vengono digitate e tutto ciò che non è stato analizzato rimane lì accanto.

Qualcuno sta riscrivendo quel file in un foglio di calcolo

Descrivi il formato una sola volta e diventerà una tabella che chiunque potrà interrogare. Piano gratuito, nessuna carta di credito richiesta, niente da installare sul server.

Sola lettura · solo connessione in uscita · i tuoi log rimangono sui tuoi server