Webserver-Protokoll-Logo

nginx, Apache, IIS Neu

Verbinden Webserver-Protokolle zu Excel, Sheets und AI

Ihr Zugriffsprotokoll ist bereits eine Tabelle – fangen Sie an, es abzufragen. nginx, Apache, Caddy und IIS schreiben jede Anfrage in einem seit Jahrzehnten stabilen Format auf die Festplatte – und fast niemand fragt sie ab. Richten Sie Query Streams auf den Protokollordner aus, und diese Dateien werden zu SQL-Tabellen: Statuscodes, Antwortzeiten, Client-IPs, Pfade, User-Agents. Rotationen und .gz Inklusive Archivmaterial, kein Holztransporter dazwischen.

1Verbindung
0eingehende Ports
Nur lesbarerzwungen
4 Weblog-Formate nginx · Apache · Caddy · IIS Rotationen und .gz-Archive enthalten Schreibgeschützt · Auf dem Server ist nichts installiert
Die große Idee

Ein Protokollordner wird zu einer Tabelle, die Sie gruppieren und verknüpfen können.

Query Streams liest die Dateien, die Ihr Webserver bereits schreibt, legt das Format fest und liefert Ihnen typisierte Spalten. Kein Agent auf dem Server, keine Versandpipeline, kein zu pflegender Index – und eine Zeile, die der Parser nicht lesen kann, wird mit einer Begründung als Zeile beibehalten, anstatt stillschweigend verworfen zu werden.

Protokollordnerauf dem Gastgeber
ZugriffsprotokollCaddie
access.log.2.gznginx
u_ex260909.logIIS

Rotationen, komprimierte Archive und erneut eingelesene Dateien – werden verarbeitet

slow-errors.sqlSQL
SELECT Weg,
       zählen(*) AS Treffer,
       runden(Durchschnitt(Dauer_Sekunden) * 1000) AS MS
VON   fileset.events
WHERE  Status >= 500
GROUP BY Weg
ORDER BY Treffer DESC
Ergebnis5xx nach Pfad
WegTrefferMS
/api/export4128,140
/api/report963,502
/Kasse311,208
/suchen7944

Verknüpfen Sie es in derselben Abfrage mit Ihrer Anwendungsdatenbank.

Dateien, die Ihr Server bereits schreibt, jetzt eine Tabelle, über die Sie Berichte erstellen können.

Server

Vier Server, vier Formate, keine Konfiguration

Jede Karte nennt die exakten Dateien, die Query Streams auf dem jeweiligen Server liest, und deren Speicherort. Sie müssen Ihre Protokollierungskonfiguration nicht ändern, damit dies funktioniert – das Standardformat wird unterstützt.

Unterstützte Webserver-Protokolle

4 Formate · 4 Server
nginxZugriff und Fehler
  • Zugriffsprotokoll das standardmäßige kombinierte Format
  • Fehlerprotokoll Level, Prozess-ID, Verbindung und Nachricht
  • Normalerweise /var/log/nginx
  • Anhänge; nummerierte Umdrehungen folgten
Apache HTTP-ServerZugang
  • Zugriffsprotokoll kombinierte und gängige Formate
  • Ein Parser deckt Apache und nginx ab – das Zugriffsformat ist dasselbe.
  • /var/log/apache2, oder httpd auf RHEL
  • Anhänge; nummerierte Umdrehungen folgten
CaddieCaddy 2 JSON
  • Zugriffsprotokoll ein JSON-Objekt pro Anfrage
  • TLS-Servername, Version und Sitzungswiederaufnahme enthalten
  • Reaktionszeit auf die Mikrosekunde genau
  • Rollen bis access-<timestamp>.log.gz; jedes Mitglied liest einmal
Microsoft IISW3C erweitert
  • u_ex*.log W3C erweitertes Format
  • Der #Felder: Die Spalten werden durch die Kopfzeile bestimmt, daher wird Ihrer Feldauswahl gefolgt.
  • C:\inetpub\logs\LogFiles\W3SVC<site>
  • Täglich eine neue, datierte Datei, die niemals umbenannt wird.
Mehr kommenDies ist der Anfang, nicht das Ende.

Mit jeder Agentenversion werden neue Webserver- und Proxy-Logformate hinzugefügt. Da sich die Agenten selbst aktualisieren, wird ein später hinzugefügtes Format automatisch in Ihrem Connector angezeigt, ohne dass ein Server manuell konfiguriert werden muss.

Alle vier Parser wurden anhand real erfasster Logdateien, einschließlich Rotationen und komprimierter Archive, entwickelt und getestet – das Caddy-Profil anhand von Logs, die direkt von unserem eigenen Produktionshost stammen.
Jede Region

Zugriffsprotokolle von jedem Endgerät, Lesen Sie, wo sie landen

Eine Anfrage erreicht nicht immer zweimal denselben Kontinent. Ihr Edge-Server befindet sich in einer Region, Ihr Ursprungsserver in einer anderen, und im Büro läuft noch eine ältere Infrastruktur. An jedem Standort läuft ein Netzwerkagent, der die eingehenden Logdateien liest und sich mit Query Streams verbindet. Für Ihre Firewall ist dies eine normale ausgehende Verbindung – es müssen keine Verbindungen geöffnet, kein VPN aufgebaut und kein Log-Shipper aktiv gehalten werden.

EU-Westen Caddy am Netzwerkrand, JSON-Zugriffsprotokolle werden nach Zeitstempel protokolliert Wählt aus
US-Osten dahinter befindet sich der nginx-Origin-Server, Logrotate und .gz Archiv Wählt aus
Hauptsitz Ein IIS-Server, der noch eine interne Anwendung bedient. Wählt aus

Drei ausgehende Verbindungen, eine zentrale Abfragestelle – kein eingehender Port, kein VPN, keine Firewall-Änderung

Ein Agent pro Standort

Ein Agent deckt einen gesamten Standort ab und nicht nur eine einzelne Protokolldatei. Innerhalb eines Standorts bildet eine Ordnerstruktur mit vielen Hosts einen einzigen Konnektor – jede Zeile enthält dessen Daten. WebsiteDie kostenlose Stufe beinhaltet einen einzelnen Agenten, höhere Stufen beinhalten mehrere Agenten.

1 Region = 1 Agent = viele Hosts

Nichts zum Öffnen

Der Agent stellt eine einzige verschlüsselte ausgehende Verbindung her, über die sowohl die ausgehende Anfrage als auch die Antwortdaten übertragen werden. Es wird kein eingehender Port benötigt, kein VPN, keine Firewall-Änderung, die angefordert werden müsste – und Ihre Protokolle werden nicht an Dritte weitergeleitet.

eine Verbindung, in beide Richtungen

Eine regionsübergreifende Abfrage

Jede Quelle in einem föderierte Abfrage Benennt einen eigenen Agenten, sodass eine einzelne Anweisung die Kante in einer Region neben den Ursprung in einer anderen platzieren oder eine der beiden mit Ihrer Anwendungsdatenbank verbinden kann. In Business und Enterprise enthalten.

2 Regionen → 1 Ergebnismenge

Sie halten sich auf dem Laufenden

Die Agenten aktualisieren sich selbst, sodass ein in einer späteren Version hinzugefügtes Protokollformat ohne eigene Installation in jeder Region verfügbar ist. Deshalb ist die obige Liste eher ein Ausgangspunkt als eine feste Liste.

Neue Formate kommen mit dem Agenten.

Der schwierige Teil

Die Rotation ist der Grund, warum es sich hier nicht einfach um einen CSV-Import handelt.

Weblogs sind ständig in Bewegung. Sie werden rotiert, umbenannt, komprimiert und im Hintergrund neu erstellt. Diese Prozesse korrekt zu handhaben – ohne Lücken und ohne Zeilen doppelt zu zählen – ist der größte Teil der Arbeit.

Nummerierte Umdrehungen

Die klassische Logrotate-Shuffle-Methode: Die heutige Datei behält ihren Namen, die gestrige wird um eine Nummer nach unten verschoben. Query Streams folgt dem Inhalt, nicht dem Namen.

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

Datumsbasierte Dateinamen

IIS benennt niemals Dateien um – es erstellt jeden Tag eine neue Datei mit dem Datum im Namen. Alte Dateien bleiben unverändert, werden also nur einmal gelesen und dann nicht mehr bearbeitet.

u_ex260909.log · u_ex260910.log

Komprimierte Archive

Ein rotiertes Log wird üblicherweise gzip-komprimiert. Query Streams liest .gz Die Komponenten sind bereits vorhanden – Sie müssen nichts dekomprimieren oder vorher woanders hin verlegen.

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

Nichts zählte doppelt

Jede Datei wird anhand ihrer ersten 4 KB eindeutig identifiziert, sodass eine umbenannte Datei als dieselbe Datei erkannt wird. Ein gleitendes Duplikatfenster erfasst Überschneidungen, wenn ein Schreibvorgang den letzten Teil der Datei erneut abspielt.

4 KB Präfix-Hash · Fenstergröße: 20.000 Datensätze

Das Schema

Die Spalten, die Sie tatsächlich erhalten

Kein bloßer Textklumpen mit einem danebenstehenden Zeitstempel. Jedes Format wird in typisierte Spalten zerlegt, die Sie direkt filtern, gruppieren und aggregieren können.

nginx- und Apache-Logos
Kombiniertes Zugriffsprotokollnginx · Apache
Client-IPAutorisierungVerfahrenWeghttp_versionStatusBytesReferrerAgent
nginx-Logo
Fehlerprotokollnginx
EbenePIDGezeitenVerbindungNachricht
Caddy-Logo
JSON-ZugriffsprotokollCaddy 2
Client-IPRemote-IPRemote-PortVerfahrenWeghttp_versionStatusBytesbytes_readDauer (Sekunden)tls_server_nametls_versiontls_resumedBenutzer-IDEbeneProtokolliererNachrichtDaten
Microsoft IIS-Logo
W3C erweitertes ProtokollMicrosoft IIS
Schluckc_ipSportcs_methodcs_uri_stemcs_uri_querycs_usernamecs_user_agentsc_statussc_substatussc_win32_statusZeitaufwand

Jede Reihe trägt außerdem Ereigniszeit und WebsiteSo kann eine Abfrage mehrere Hosts umfassen, und die Herkunft der Datei ist immer eindeutig.

Eine Verbindung, jede Oberfläche

Wohin Ihre Webserver-Protokolldaten gelangen können

Protokolldateien sind keine Sackgasse. Stellen Sie die Verbindung zum Ordner einmalig her, und dieselbe schreibgeschützte Verbindung speist alle von Query Streams unterstützten Oberflächen – keine zweite Einrichtung, keine zweite Datenkopie und keine Unterschiede in der Behandlung im Vergleich zu einem Datenbank-Connector.

Unterstützt

Webserver-Protokolle in Excel

Microsoft Excel · Excel-Add-in

Live-Webserver-Protokollergebnisse direkt in ein Arbeitsblatt importieren und bei Bedarf aktualisieren – Desktop-Excel, Excel Online, Microsoft 365.

So funktioniert Excel
Unterstützt

Webserver-Protokolle in Google Sheets

Tabellen-Add-on

Führen Sie eine gespeicherte Webserver-Protokollabfrage über die Seitenleiste aus und ziehen Sie die Zeilen in das Tabellenblatt. Gemeinsame Mitarbeiter können es selbst aktualisieren.

So funktioniert Google Sheets
Unterstützt

Webserver-Protokolle MCP-Server

Claude-, Cursor- und MCP-Clients · MCP-Server

Gewähren Sie einem KI-Assistenten Lesezugriff auf das Webserver-Protokoll mit dem Schema, das er benötigt, um korrektes SQL zu schreiben – keine Anmeldeinformationen im Chat.

So funktioniert MCP
Unterstützt

Webserver-Protokolle REST-API

HTTP-Endpunkt

Veröffentlichen Sie eine Webserver-Logabfrage als authentifizierten JSON-Endpunkt, den jede Anwendung aufrufen kann, mit einer OpenAPI 3.1-Spezifikation und vorgefertigten Sammlungen für Postman, Insomnia und Hoppscotch. Es wird kein Datenbankport geöffnet.

Wie funktioniert die REST-API?
Unterstützt

Webserver-Protokolle an Airtable

Automatisierungsplattform

Synchronisieren Sie Webserver-Logzeilen zeitgesteuert mit einer Airtable-Datenbank oder rufen Sie sie innerhalb eines Airtable-Automatisierungsskripts ab.

So funktioniert Airtable
Unterstützt

Webserver-Protokolle an Baserow

Automatisierungsplattform

Eine Baserow-Tabelle wird über den REST-Endpunkt mit Daten aus dem Webserver-Log gespeist – entweder selbst gehostet oder in der Baserow-Cloud.

So funktioniert Baserow
Unterstützt

Webserver-Protokolle an SeaTable

Automatisierungsplattform

Halten Sie eine SeaTable-Datenbank mit Webserver-Protokolldaten auf dem neuesten Stand, ohne eine Datei zu exportieren oder die Datenbank preiszugeben.

So funktioniert SeaTable
Unterstützt

Webserver-Protokolle an Smartsheet

Automatisierungsplattform

Die Ergebnisse der Webserver-Protokolle werden in ein Smartsheet-Raster übertragen, sodass Pläne und Berichte aus dem Quellsystem und nicht aus dem Export der letzten Woche gelesen werden.

So funktioniert Smartsheet
Unterstützt

Webserver-Protokolle an Anvil senden

Anvil Works · App-Plattform

Eine Anvil Python-App mit Webserver-Logging über den REST-Endpunkt absichern, anstatt Datenbankzugangsdaten in die App einzubetten.

So funktioniert Anvil
Unterstützt

Webserver-Protokolle an Power BI

Power Query M

Fügen Sie die generierte Power Query M in den Power BI Advanced Editor ein, und der Bericht liest Live-Webserver-Protokollergebnisse über HTTPS – ohne ODBC-Treiber, ohne geöffneten Datenbankport.

So funktioniert Power BI
Unterstützt

Webserver-Protokolle, Warnungen und Berichte

Slack · Discord · E-Mail · Webhook

Richten Sie eine Abfrage der Webserver-Protokolle nach einem Zeitplan ein und lassen Sie die Zeilen an Slack, Discord, E-Mail oder einen signierten Webhook liefern – oder halten Sie die Nachricht zurück, bis eine bestimmte Zeilenanzahl, ein Schwellenwert oder eine prozentuale Änderung die von Ihnen festgelegte Grenze überschreitet.

So funktionieren Benachrichtigungen und Berichte
Die Benachrichtigungskarte ist für Protokolle besonders interessant: Eine geplante Abfrage Ihrer 5xx-Fehleranzahl benötigt keine Anwesenheit eines Benutzers, sodass ein Fehleranstieg automatisch Slack erreicht. Detaillierte Anleitungen zur Protokollanalyse sind noch nicht verfügbar – die verlinkten Seiten erklären die Funktionsweise der einzelnen Bereiche.

Was wir absichtlich nicht lesen

Ein Produktionszugriffsprotokoll enthält mehr Informationen, als in einer Berichtstabelle benötigt werden. Das JSON-Format von Caddy protokolliert vollständige Anfrage- und Antwortheader-Maps, die üblicherweise Sitzungscookies und Bearer-Token enthalten. Das Caddy-Profil schließt Folgendes aus: request.headers und resp_headers Durch Deklaration – nicht durch einen Filter, den man manuell aktivieren muss, und auch nicht nachträglich. Diese Felder werden nie analysiert und gelangen daher nie in eine Tabelle, einen Export oder eine Tabellenkalkulation.

Der Rest des Designs folgt demselben Prinzip. Der Agent stellt ausgehende Verbindungen her und liest Dateien; es wird nichts auf dem Webserver installiert, nichts wird zurückgeschrieben, und der Zugriff ist schreibgeschützt.

So funktioniert es

Drei Schritte, und nichts wird auf dem Webserver installiert.

01

Zeigen Sie auf den Protokollordner

Gewähren Sie einem Query Streams Agent Lesezugriff auf den Ordner, in dem Ihr Server bereits Protokolle speichert. /var/log/nginx, /var/log/caddy, ein IIS Protokolldateien Verzeichnis oder eine Freigabe, mit der Sie sie synchronisieren.

02

Es erkennt das Format.

Query Streams ermittelt das Format anhand des Inhalts der Zeilen, nicht anhand des Dateinamens – so dass auch eine Datei mit einem ungewöhnlichen Namen gelesen werden kann und eine Datei, die nicht dem festgelegten Format entspricht, mit einer Begründung zwischengespeichert wird, anstatt die Tabelle zu beschädigen.

03

Frage es ab oder schließe dich ihm an

Führen Sie SQL-Abfragen über das Portal aus, speichern Sie sie live in Microsoft Excel oder Google Sheets oder verwenden Sie eine Verbundabfrage, um Anforderungsprotokolle mit den Benutzern und Bestellungen in Ihrer Anwendungsdatenbank zu verknüpfen – alles in einer einzigen Anweisung.

Häufig gestellte Fragen zum Webserver-Protokoll

Muss ich meine Protokollierungskonfiguration ändern?

Nein. Jedes unterstützte Format ist das Standardformat des jeweiligen Servers: das kombinierte Zugriffsprotokoll für nginx und Apache, das JSON-Zugriffsprotokoll für Caddy 2 und das W3C-erweiterte Format für IIS. Wenn Sie Ihr Protokollformat noch nie geändert haben, verwenden Sie bereits ein unterstütztes Format.

IIS ist der flexible Fall, und er wird ordnungsgemäß behandelt – die #Felder: Die Direktive am Anfang einer W3C-Datei benennt deren Spalten, sodass die im IIS-Manager ausgewählten Felder die Spalten sind, die Sie erhalten.

Ist das Echtzeit?

Es handelt sich um eine bedarfsgesteuerte Abfrage, nicht um eine Streaming-Abfrage. Query Streams liest die Dateien so, wie sie sich auf der Festplatte befinden, wenn Sie die Abfrage ausführen. Neue Anfragen erscheinen also, sobald Ihr Server sie schreibt und die Datei verarbeitet wird – nicht nach einem festen nächtlichen Zeitplan, aber auch nicht in Echtzeit.

Wenn Sie innerhalb von Sekundenbruchteilen über eingehende Anfragen benachrichtigt werden müssen, ist eine Log-Pipeline das richtige Werkzeug. Wenn Sie hingegen den Datenverkehr der letzten Wochen analysieren und die Antwort in einer Tabelle erhalten möchten, ist deutlich weniger Aufwand nötig.

Was geschieht mit rotierten und komprimierten Protokolldateien?

Sie werden gelesen. Query Streams versteht die drei Rotationsstile, die diese Server verwenden – logrotates nummeriertes Shuffle, IIS' neue Datei pro Tag und Caddys zeitgestempeltes Rolling – und liest sie. .gz Die Archive sind bereits vorhanden, ohne dass Sie sie dekomprimieren müssen.

Dateien werden anhand eines Hashwerts ihrer ersten 4 KB und nicht anhand ihres Namens abgeglichen, sodass eine rotierte Datei als bereits bekannte erkannt wird. Dadurch wird verhindert, dass bei einer Rotation ein Tag verloren geht oder ein Tag doppelt gezählt wird.

Meine Protokolle befinden sich auf mehreren Servern. Kann ich sie gemeinsam abfragen?

Ja. Jede Reihe enthält eine Website Spaltenweise Abfragen können über mehrere Hosts hinweg durchgeführt und nach den gewünschten Kriterien gruppiert werden. Sie können einen Agenten pro Umgebung oder Region bereitstellen, und alle Agenten zeigen ihre Ordner in derselben Liste an.

Da es sich um gewöhnliches SQL handelt, können Sie noch weiter gehen und Anforderungsprotokolle mit einer realen Datenbank verknüpfen – beispielsweise einen Anstieg von 500er-Fehlern mit einer Bereitstellungstabelle abgleichen oder langsame Checkout-Anfragen mit den zugehörigen Bestellungen.

Liest es Cookies oder Autorisierungs-Header?

Nein. Caddys JSON-Format ist das einzige der vier, das überhaupt Header-Maps aufzeichnet, und das Profil schließt diese aus. request.headers und resp_headers Da sie deklariert werden, werden sie nie in eine Spalte geparst. Die kombinierten, Fehler- und W3C-Formate enthalten von vornherein keine Header.

Client-IP-Adressen und User-Agents werden analysiert, da sie den Zweck eines Zugriffsprotokolls darstellen – behandeln Sie die resultierende Tabelle mit der gleichen Sorgfalt wie die Protokolldatei, aus der sie stammt.

Was passiert mit einer Zeile, die der Parser nicht lesen kann?

Sie wird beibehalten, nicht verworfen. Eine Zeile, die nicht dem festgelegten Format entspricht, wird als Rohdatensatz mit einer Begründung gespeichert, sodass ein fehlerhafter Eintrag oder eine unerwartete Formatänderung sichtbar und abfragbar ist und nicht als stille Lücke in Ihren Zahlen erscheint.

Ihre Verkehrsdaten befinden sich bereits auf der Festplatte.

Verbinden Sie einen Protokollordner und führen Sie Ihre erste Abfrage in wenigen Minuten aus. Kostenlos, keine Kreditkarte erforderlich, keine Installation auf dem Webserver.

Schreibgeschützt · Nur ausgehende Verbindungen · Ihre Protokolle bleiben auf Ihrem Server