Logo dei log del server web

nginx, Apache, IIS Nuovo

Collegare Registri del server web per Excel, Fogli e IA

Il tuo registro degli accessi è già una tabella: inizia a interrogarlo. nginx, Apache, Caddy e IIS scrivono ogni richiesta su disco in un formato che è rimasto stabile per decenni, e poi quasi nessuno lo interroga. Punta Query Streams alla cartella dei log e quei file diventano tabelle SQL: codici di stato, tempi di risposta, IP client, percorsi, user agent. Rotazioni e .gz Archivi inclusi, senza intermediari per la spedizione dei tronchi.

1connessione
0porti in entrata
sola letturaimposto
4 formati di blog web nginx · Apache · Caddy · IIS Rotazioni e archivi .gz inclusi Sola lettura · nessun dispositivo installato sul server
La grande idea

Una cartella di log diventa una tabella che è possibile raggruppare e unire.

Query Streams legge i file che il tuo server web già scrive, ne blocca il formato e ti fornisce colonne tipizzate. Nessun agente sul server, nessuna pipeline di distribuzione, nessun indice da gestire: e una riga che il parser non riesce a leggere viene conservata come riga con una motivazione, anziché essere scartata silenziosamente.

Cartella di registrosull'host
registro accessiCaddy
access.log.2.gznginx
u_ex260909.logIIS

Rotazioni, archivi compressi e file riletti: gestiti

slow-errors.sqlSQL
SELEZIONARE sentiero,
       contare(*) AS successi,
       girare(media(durata_secondi) * 1000) AS SM
DA   set di file.eventi
DOVE  stato >= 500
GRUPPO PER sentiero
ORDINATO DA successi DESC
Risultato5xx per percorso
sentierosuccessiSM
/api/esportazione4128,140
/api/report963,502
/guardare311,208
/ricerca7944

Aggiungilo al database della tua applicazione nella stessa query

File che il tuo server scrive già, ora una tabella su cui puoi creare report

Server

Quattro server, quattro formati, nessuna configurazione

Ogni scheda indica con precisione i file che Query Streams legge su quel server e la loro posizione. Non è necessario modificare la configurazione dei log per far funzionare questa funzionalità: il formato predefinito è quello supportato.

Log del server web supportati

4 formati · 4 server
nginxAccesso ed errore
  • registro accessi il formato combinato predefinito
  • registro degli errori livello, pid, connessione e messaggio
  • Generalmente /var/log/nginx
  • Appendici; seguono rotazioni numerate
Server HTTP ApacheAccesso
  • registro_accesso formati combinati e comuni
  • Un unico parser copre Apache e nginx: il formato di accesso è lo stesso.
  • /var/log/apache2, o httpd su RHEL
  • Appendici; seguono rotazioni numerate
CaddyCaddy 2 JSON
  • registro accessi un oggetto JSON per richiesta
  • Nome del server TLS, versione e ripresa della sessione inclusi
  • Tempo di risposta al microsecondo
  • Rotoli a access-<timestamp>.log.gz; ogni membro ha letto una volta
Microsoft IISW3C esteso
  • u_ex*.log Formato esteso W3C
  • IL #Campi: l'intestazione determina le colonne, quindi la selezione del campo viene seguita
  • C:\inetpub\logs\LogFiles\W3SVC<sito>
  • Un nuovo file datato al giorno, mai rinominato.
Altro in arrivoQuesti sono l'inizio, non il limite.

Con ogni nuova versione dell'Agent vengono aggiunti nuovi formati di log per server web e proxy. Poiché gli Agent si aggiornano automaticamente, un formato aggiunto successivamente viene visualizzato nel connettore senza che nessuno debba intervenire sul server.

Tutti e quattro i parser sono stati creati e testati su file di log reali, comprese le rotazioni e gli archivi compressi, mentre il profilo Caddy è stato testato su log prelevati direttamente dal nostro server di produzione.
Ogni regione

Registri di accesso da ogni bordo, leggi dove atterrano

Una richiesta non raggiunge sempre lo stesso continente due volte. Il tuo server edge si trova in una regione, il server di origine in un'altra e un sistema ancora più datato è in esecuzione in ufficio. In ogni sede è in esecuzione un Network Agent che legge i file di log nel punto in cui arrivano e si connette a Query Streams. Per quanto riguarda il tuo firewall, si tratta di una normale connessione in uscita: non c'è nulla da aprire, nessuna VPN da configurare e nessun log shipper da mantenere attivo.

eu-ovest Caddy al limite, registri di accesso JSON che scorrono in base al timestamp chiama in uscita
Stati Uniti orientali L'origine di nginx dietro di esso, logrotate e .gz archivi chiama in uscita
Direzione Un server IIS che continua a gestire un'applicazione interna. chiama in uscita

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 piuttosto che un singolo file di registro e all'interno di una posizione una struttura di cartelle di molti host è un singolo connettore: ogni riga porta il suo sitoIl piano gratuito prevede un singolo agente, mentre i piani superiori ne prevedono di più.

1 regione = 1 agente = molti host

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 inoltro dei log a terze parti.

un collegamento, in entrambe le direzioni

Un'unica query tra regioni

Ogni fonte in un query federata Assegna un nome al proprio agente, quindi una singola istruzione può posizionare il collegamento in una regione accanto all'origine in un'altra, oppure unire entrambi al database dell'applicazione. 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 tutte le regioni 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

La parte difficile

La rotazione è il motivo per cui non si tratta di una semplice importazione CSV.

I log web non restano mai statici. Vengono ruotati, rinominati, compressi e ricreati sotto i vostri occhi. Gestire tutto ciò correttamente, senza interruzioni e senza contare due volte la stessa riga, rappresenta la parte più impegnativa.

Rotazioni numerate

Il classico meccanismo di riordino logrotate: il file di oggi mantiene il suo nome e quello di ieri viene spostato di un numero inferiore. Query Streams segue il contenuto, non il nome.

access.log → access.log.1 → access.log.2.gz

Nomi dei file datati

IIS non rinomina mai alcun file: ne apre uno nuovo ogni giorno, includendo la data nel nome. I vecchi file rimangono invariati, quindi vengono letti una sola volta e poi lasciati invariati.

u_ex260909.log · u_ex260910.log

Archivi compressi

Un registro ruotato di solito viene compresso con gzip. Query Streams legge .gz Gli elementi sono già in posizione: non è necessario decomprimere nulla o spostarli altrove prima.

access-2026-09-08T03-00-00.000.log.gz

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 venga riconosciuto come lo stesso file. Una finestra di duplicazione scorrevole cattura la sovrapposizione quando un processo di scrittura riproduce la parte finale del file.

Hash con prefisso di 4 KB · Finestra di 20.000 record

Lo schema

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.

Loghi di nginx e Apache
registro degli accessi combinatonginx · Apache
indirizzo IP del clientautenticazionemetodosentierohttp_versionstatobytereferenteagente
logo nginx
Registro degli erroringinx
livellopidtidconnessionemessaggio
Logo Caddy
registro degli accessi JSONCaddy 2
indirizzo IP del clientindirizzo IP remotoporta_remotametodosentierohttp_versionstatobytebyte_lettidurata_seconditls_server_nametls_versiontls_resumedID utentelivelloregistratoremessaggiodati
Logo di Microsoft IIS
Registro esteso del W3CMicrosoft IIS
sorsoc_ipsportcs_methodcs_uri_stelocs_uri_querycs_usernamecs_user_agentstato_scsubstatus scstato sc_win32tempo impiegato

Ogni fila trasporta anche tempo_evento e sito, quindi una singola query può estendersi su più host e il file da cui proviene non è mai in dubbio.

Un collegamento, ogni superficie

Dove possono essere archiviati i dati di log del tuo server web

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.

Supportato

Log del server web in Excel

Microsoft Excel · Componente aggiuntivo di Excel

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

Come funziona Excel
Supportato

Log del server web su Fogli Google

Componente aggiuntivo Fogli

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

Come funziona Google Sheets
Supportato

Registri del server Web Server MCP

Client Claude, Cursor e MCP · Server MCP

Concedi a un assistente IA l'accesso in sola lettura al log del server web con lo schema necessario per scrivere query SQL corrette, senza fornire credenziali nella chat.

Come funziona MCP
Supportato

API REST dei log del server web

Endpoint dell'HT

Pubblica una query di log del server web 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 del server web su Airtable

Piattaforma di automazione

Sincronizza le righe di log del server web in una base Airtable secondo una pianificazione, oppure recuperale tramite uno script di automazione di Airtable.

Come funziona Airtable
Supportato

Registri del server web in Baserow

Piattaforma di automazione

Alimenta una tabella Baserow dai log del server web tramite l'endpoint REST, sia in locale che nel cloud Baserow.

Come funziona Baserow
Supportato

Registri del server web in SeaTable

Piattaforma di automazione

Mantieni aggiornato il database di SeaTable con i dati di log del server web senza esportare un file o esporre il database stesso.

Come funziona SeaTable
Supportato

Registri del server web in Smartsheet

Piattaforma di automazione

Trasferisci i risultati dei log del server web 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 del server web in Anvil

Anvil Works · Piattaforma per app

Esegui il backup di un'applicazione Anvil Python con i log del server web tramite l'endpoint REST anziché incorporare le credenziali del database nell'applicazione.

Come funziona Anvil
Supportato

Log del server web 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 del server web tramite HTTPS, senza driver ODBC né porte di database aperte.

Come funziona Power BI
Supportato

Registri del server web, avvisi e report

Slack · Discord · Email · Webhook

Imposta una query sui log del server web a intervalli regolari e fai in modo che le righe vengano inviate a Slack, Discord, via email 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
La scheda degli avvisi è quella che merita un secondo sguardo per i log: una query pianificata sul conteggio 5xx non richiede la presenza di nessuno, quindi un picco raggiunge Slack automaticamente. Non sono ancora state scritte guide dettagliate specifiche per i log; le pagine collegate descrivono il funzionamento di ciascuna sezione.

Ciò che deliberatamente non leggiamo

Un registro degli accessi di produzione contiene più informazioni di quelle che potresti voler includere in una tabella di reporting. Il formato JSON di Caddy registra le mappe complete delle intestazioni di richiesta e risposta, che di norma contengono cookie di sessione e token bearer. Il profilo Caddy esclude intestazioni della richiesta e intestazioni resp Per dichiarazione, non tramite un filtro che devi ricordarti di attivare, e non a posteriori. Questi campi non vengono mai analizzati, quindi non raggiungono mai una tabella, un'esportazione o un foglio di calcolo.

Il resto del progetto segue lo stesso principio. L'agente si connette in uscita e legge i file; nulla viene installato sul server web, nulla viene scritto su di esso e l'accesso è in sola lettura.

Come funziona

Tre passaggi, e non viene installato nulla sul server web.

01

Indica la cartella dei log

Concedi all'agente Query Streams l'accesso in lettura alla cartella in cui il tuo server registra già i log. /var/log/nginx, /var/log/caddy, un IIS File di registro directory o una cartella condivisa con cui li sincronizzi.

02

Riconosce il formato

Query Streams identifica il formato dal contenuto delle righe, non dal nome del file: pertanto, un file con un nome insolito viene comunque letto, e un file che non corrisponde al formato predefinito viene accantonato con una motivazione anziché corrompere la tabella.

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 i log delle richieste agli utenti e agli ordini presenti nel database dell'applicazione, il tutto con un'unica istruzione.

FAQ sul registro del server web

Devo modificare la configurazione dei log?

No. Ogni formato supportato è quello predefinito per quel server: il log di accesso combinato per nginx e Apache, il log di accesso JSON per Caddy 2 e il formato esteso W3C per IIS. Se non hai mai modificato il formato del log, ne stai già utilizzando uno supportato.

IIS è il caso flessibile e viene gestito correttamente — il #Campi: La direttiva all'inizio di un file W3C specifica i nomi delle colonne, quindi le colonne visualizzate corrispondono ai campi selezionati in Gestione IIS.

È in tempo reale?

È un servizio on-demand, non in streaming. Query Streams legge i file così come sono sul disco quando si esegue la query, quindi le nuove richieste vengono visualizzate non appena il server le scrive e il file viene prelevato, non secondo una pianificazione fissa notturna, ma nemmeno in tempo reale.

Se hai bisogno di ricevere notifiche in frazioni di secondo su una richiesta nel momento stesso in cui si verifica, una pipeline di log è lo strumento giusto. Se invece vuoi porre una domanda sul traffico delle ultime settimane e ottenere una risposta in un foglio di calcolo, ti serve uno strumento decisamente meno complesso.

Che fine fanno i log ruotati e compressi?

Vengono letti. Query Streams comprende i tre stili di rotazione utilizzati da questi server: lo shuffle numerato di logrotate, il file con data nuova al giorno di IIS e il roll con timestamp di Caddy, e li legge. .gz archivi in loco senza che tu debba decomprimerli.

I file vengono abbinati tramite un hash dei loro primi 4 KB anziché tramite il nome, quindi un file ruotato viene riconosciuto come quello già visto. Questo è ciò che impedisce che una rotazione perda un giorno o che ne conti due volte uno.

I miei file di log si trovano su diversi server. Posso interrogarli tutti insieme?

Sì. Ogni fila porta un sito colonna, quindi una singola query può estendersi a tutti gli host e raggruppare in base a ciò che ti interessa. Puoi distribuire un agente per ambiente o per regione, e tutti presenteranno le proprie cartelle nello stesso elenco.

Trattandosi di SQL standard, è possibile spingersi oltre e collegare i log delle richieste a un database reale, ad esempio confrontando un picco di errori 500 con una tabella di distribuzione, oppure le richieste di pagamento lente con gli ordini a cui appartengono.

Legge i cookie o le intestazioni di autorizzazione?

No. Il formato JSON di Caddy è l'unico dei quattro che registra le mappe di intestazione e il profilo esclude intestazioni della richiesta e intestazioni resp Per dichiarazione, quindi non vengono mai analizzati e inseriti in una colonna. I formati combined, error e W3C non contengono intestazioni fin dall'inizio.

Gli indirizzi IP dei client e gli user agent vengono analizzati, poiché rappresentano il punto cruciale di un registro degli accessi: trattate la tabella risultante con la stessa cura riservata al file di registro da cui proviene.

Che succede se il parser non riesce a leggere una riga?

Viene mantenuta, non eliminata. Una riga che non corrisponde al formato predefinito viene conservata come riga grezza con una motivazione allegata, in modo che una voce non valida o una modifica di formato imprevista risulti visibile e interrogabile, anziché come una lacuna silenziosa nei dati.

I dati sul tuo traffico sono già presenti sul disco.

Collega una cartella di log ed esegui la tua prima query in pochi minuti. Piano gratuito, nessuna carta di credito richiesta, niente da installare sul server web.

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