JSON- und Anwendungsprotokolle Neu
Verbinden Anwendungsprotokolle zu Excel, Sheets und AI
Anwendungsprotokoll, Stacktraces sind noch angehängt. JSON-Zeilen von ECS, Serilog, Pino oder Bunyan. Klartext Zeitstempel [LEVEL] Protokollierer: Nachricht Im Text wird ein vierzigzeiliger Stacktrace an die Zeile angehängt, die ihn ausgelöst hat, anstatt in vierzig unnötige Zeilen aufzuteilen. Und unter Debian und Ubuntu werden die beiden Protokolldateien angezeigt, die die Änderungen auf dem System protokollieren.
Ihr Protokollordner wird zu einer Tabelle, nach der Sie gruppieren können.
Kein grep und kein Log-Stack. Query Streams liest die Dateien, die Ihre Anwendung bereits schreibt, legt das Format fest und liefert typisierte Spalten – so lässt sich die Frage „Welcher Logger wirft diese Woche die meisten Fehler?“ mit einer einzigen Abfrage beantworten, anstatt einen ganzen Nachmittag zu investieren. Eine Zeile, die der Parser nicht lesen kann, wird mit einer Begründung als Zeile gespeichert, anstatt stillschweigend verworfen zu werden.
shopfront-api/app.jsonlJSON
shopfront-worker/app.logText
history.loggeeignetRotationen, komprimierte Archive und erneut eingelesene Dateien – werden verarbeitet
SELECT App, Logger,
zählen(*) AS Fehler
VON fileset.events
WHERE Niveau = 'FEHLER'
GROUP BY App, Protokollierer
ORDER BY Fehler DESCVerknüpfen Sie es in derselben Abfrage mit Ihrer Anwendungsdatenbank.
Die Dateien, die Ihre App bereits schreibt, jetzt in einer Tabelle, über die Sie Berichte erstellen können.
Zwei Formen, die Ihre App schreibt, zwei, die die Box schreibt
Jede Karte benennt die exakten Dateien, die Query Streams liest, und die daraus gewonnenen Informationen. Sie benötigen keine zusätzliche Protokollierungsbibliothek und müssen kein Format ändern, damit dies funktioniert – die unterstützten Formate sind diejenigen, die diese Tools standardmäßig erzeugen.
Unterstützte Anwendungsprotokolle
4 Formate
JSON-ZeilenECS, Serilog kompakt, Pino, Bunyan
- Ein JSON-Objekt pro Zeile in
.jsonl,.ndjsonoder*-json.log - ECS-Feldnamen werden direkt durchgeleitet —
log.level,Hostname,Dienstname - Serilog Compact, Pino und Bunyan Read auch: gleiche Tasten, unterschiedliche Schreibweisen
- Verschachtelte Objekte werden zu gepunkteten Spalten vereinfacht; alles Nicht-Zugeordnete landet in
Daten - Anhänge; datierte Rotationen und
.gzfolgte
TextprotokollZeitstempel, Ebene, Protokoller, Nachricht
- Die Standardform: ein Stempel, eine Ebene in Klammern, ein Protokolleintrag, eine Nachricht
- Ein Stacktrace wird an die Zeile angehängt, die ihn ausgelöst hat – eine Zeile, nicht vierzig.
bei …,Verursacht durch:undTracebackalle lesen als Fortsetzung- Liest
.Protokoll,.ausund.txtJSON-Dateien sind durch die Deklaration ausgeschlossen. - Komma- oder Punkt-Millisekunden; lokale Uhr wird als die des Agenten gelesen.
dpkgPaketprotokoll
- Eine Zeile pro Verpackungsschritt:
installieren,Upgrade,entfernen,konfigurieren Paket,Versionundneue_Versionals ihre eigenen KolumnenStatusDie Zeilen enthalten den Status, in den dpkg das Paket verschoben hat./var/log/dpkg.logund seine Nummer.gzRotationen- Keine Zeitzone in der Datei; wird als lokale Uhrzeit des Agenten gelesen.
geeignetVerlaufsprotokoll
- Eins
Schlüssel: WertBlock pro Transaktion, Leerzeile zwischen den Blöcken - Das genaue
Befehlszeiledas lief, und was es veränderte Startdatumist der Zeitpunkt des Ereignisses;Enddatumist eine eigene Spalte- Eine unvollendete Transaktion wird nicht halbiert, sondern bleibt vorerst unvollendet.
/var/log/apt/history.logplus seine.gzRotationen
Mit jeder Agentenversion werden neue Anwendungs- und Paketprotokollformate hinzugefügt. Da sich die Agenten selbst aktualisieren, wird ein später hinzugefügtes Format in Ihrem Connector angezeigt, ohne dass ein Serverzugriff erforderlich ist.
Das Anwendungsprotokoll aus jeder Region, Lies, wo es läuft
Eine Anwendung läuft selten auf einem einzelnen Server. Eine API befindet sich in einer Cloud-Region, die Mitarbeiter in einer anderen, und manchmal läuft noch etwas auf einem Server im Büro. An jedem Standort läuft ein Netzwerkagent, der die vorhandenen Protokolldateien liest und sich mit Query Streams verbindet. Für Ihre Firewall ist das eine normale ausgehende Verbindung – es müssen keine Verbindungen geöffnet, kein VPN eingerichtet und keine Protokollierungsbibliothek in Ihre Anwendung integriert werden.
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, nicht nur ein einzelnes Protokoll: Die JSON-Zeilen, das Textprotokoll und der Paketverlauf dieses Standorts bilden jeweils einen eigenen Dateisatz-Connector auf demselben Agenten. Die kostenlose Version verwendet einen einzelnen Agenten, höhere Versionen mehrere.
1 Standort = 1 Agent = viele Verbindungen
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 ist kein eingehender Port, kein VPN, keine Firewall-Änderung erforderlich – und Ihre Anwendung muss nicht angepasst werden, damit dies funktioniert.
eine Verbindung, in beide Richtungen
Eine regionsübergreifende Abfrage
Jede Quelle in einem föderierte Abfrage Es benennt einen eigenen Agenten, sodass eine einzelne Anweisung die API-Fehler in einer Region neben den Fehlern der Worker in einer anderen – oder neben dem Paketverlauf, der den Startzeitpunkt erklärt – anzeigen 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 überall verfügbar ist. Deshalb ist die obige Liste eher ein Ausgangspunkt als eine feste Liste.
Neue Formate kommen mit dem Agenten.
Stacktraces, Taktgeber und ähnliche Signale
Das Anwendungsprotokoll ist die unübersichtlichste Datei auf dem Server: Ein einzelnes Ereignis kann sich über vierzig Zeilen erstrecken, zwei voneinander unabhängige Formate können identisch aussehen, und die Hälfte dieser Dateien enthält überhaupt keine Zeitzoneninformationen. Jedes dieser Probleme wird durch explizite Deklaration und nicht durch bloßes Raten gelöst.
Eine Veranstaltung, nicht vierzig Reihen
Eine Zeile ohne Zeitstempel gehört zur darüberliegenden Zeile. Dadurch bleibt der Stacktrace mit der auslösenden Nachricht verknüpft, anstatt in Dutzende von Fragmenten zerfallen zu werden, die niemand mehr lesen kann. GROUP BY kann wieder zusammengebaut werden.
Fortsetzungslinien → verbunden, bis zu 200
Zwei Baumstämme, die einander ähnlich sehen
Eine JSON-Anwendungszeile, ein Docker-Envelope und die JSON-Zugriffszeile eines Webservers sind allesamt „JSON mit einem Zeitstempel“. Das Format richtet sich nach dem Inhalt der Zeile, sodass jede Zeile ein eigenes Profil erhält – niemals durch Verzweigung anhand des Dateinamens.
Der Inhalt entscheidet, nicht der Dateiname.
Eine Uhr ohne Zeitzone
Textprotokolle, dpkg und apt schreiben alle die lokale Zeit des Hosts ohne Offset. Anstatt zu raten, deklarieren diese Profile, dass der Zeitstempel lokal ist und lesen ihn als Zeitzone des Agenten – die ursprüngliche Zeichenkette wird in jedem Fall in einer eigenen Spalte gespeichert.
Lokale Uhr → deklariert, nie abgeleitet
Eine Transaktion läuft noch.
apt schreibt den Beginn eines Upgrades sofort und die Endzeile erst, wenn dpkg abgeschlossen ist, was Minuten dauern kann. Ein noch nicht geschlossener Block wartet, anstatt geteilt und als Ereignis ohne Anfang angezeigt zu werden.
Wartet bis zum Enddatum, bis zu 30 Minuten
- Ereigniszeit
- 2026-09-08 14:02:11.431
- Ebene
- FEHLER
- Protokollierer
- PaymentClient
- Nachricht
- Ladevorgang fehlgeschlagen ↵ java.net.SocketTimeoutException: Zeitüberschreitung beim Lesen ↵ bei …
Die Spalten, die Sie tatsächlich erhalten
Kein Textklumpen mit einem Zeitstempel daneben. Jedes Format wird in typisierte Spalten geparst, die Sie direkt filtern, gruppieren und aggregieren können – und wenn Ihre Anwendung strukturiertes JSON protokolliert, werden auch dessen Felder in Spalten entpackt.
Jede Reihe trägt außerdem Ereigniszeit, dem Rohdatenstempel, aus dem die Daten gelesen wurden, und der Datei, aus der sie stammen. Ihre Anwendungsprotokolle werden identifiziert durch App und die beiden Paketprotokolle von Gastgeber Beide Daten stammen aus dem Ordner, in dem sich die Datei befindet. Ein Ordner pro Dienst oder pro Rechner liefert somit eine übersichtliche Spalte zum Gruppieren. Das dreispaltige Textprotokoll ist bewusst so gestaltet: Anstatt Felder zu erraten, die eine Freitextnachricht nicht zuverlässig enthält, wird die Nachricht vollständig inklusive ihres Stack-Traces gespeichert.
Wohin Ihre Anwendungsprotokolldaten 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.
Anwendungsprotokolle in Excel
Microsoft Excel · Excel-Add-in
Live-Anwendungsprotokollergebnisse direkt in ein Arbeitsblatt übertragen und bei Bedarf aktualisieren – Desktop-Excel, Excel Online, Microsoft 365.
So funktioniert ExcelAnwendungsprotokolle in Google Sheets
Tabellen-Add-on
Führen Sie eine gespeicherte Anwendungsprotokollabfrage über die Seitenleiste aus und ziehen Sie die Zeilen in das Tabellenblatt. Gemeinsame Mitarbeiter können es selbst aktualisieren.
So funktioniert Google SheetsAnwendungsprotokolle MCP-Server
Claude-, Cursor- und MCP-Clients · MCP-Server
Gewähren Sie einem KI-Assistenten Lesezugriff auf das Anwendungsprotokoll mit dem Schema, das er benötigt, um korrekten SQL-Code zu schreiben – keine Anmeldeinformationen im Chat.
So funktioniert MCPAnwendungsprotokolle REST-API
HTTP-Endpunkt
Veröffentlichen Sie eine Anwendungslog-Abfrage 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?Anwendungsprotokolle an Airtable
Automatisierungsplattform
Synchronisieren Sie Anwendungslogzeilen zeitgesteuert mit einer Airtable-Datenbank oder rufen Sie sie innerhalb eines Airtable-Automatisierungsskripts ab.
So funktioniert AirtableAnwendungsprotokolle an Baserow
Automatisierungsplattform
Eine Baserow-Tabelle wird über den REST-Endpunkt mit Anwendungsprotokolldaten gespeist – entweder selbst gehostet oder in der Baserow-Cloud.
So funktioniert BaserowAnwendungsprotokolle an SeaTable
Automatisierungsplattform
Halten Sie eine SeaTable-Datenbank mit Anwendungsprotokolldaten auf dem neuesten Stand, ohne eine Datei zu exportieren oder die Datenbank preiszugeben.
So funktioniert SeaTableAnwendungsprotokolle an Smartsheet
Automatisierungsplattform
Die Ergebnisse des Anwendungsprotokolls werden in ein Smartsheet-Grid übertragen, sodass Pläne und Berichte aus dem Quellsystem und nicht aus dem Export der letzten Woche gelesen werden.
So funktioniert SmartsheetAnwendungsprotokolle an Anvil
Anvil Works · App-Plattform
Sichern Sie eine Anvil Python-App mit Anwendungsprotokollierung über den REST-Endpunkt ab, anstatt Datenbankzugangsdaten in die App einzubetten.
So funktioniert AnvilAnwendungsprotokolle 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-Anwendungsprotokollergebnisse über HTTPS – ohne ODBC-Treiber und ohne geöffneten Datenbankport.
So funktioniert Power BIAnwendungsprotokolle, Warnungen und Berichte
Slack · Discord · E-Mail · Webhook
Richten Sie eine Abfrage des Anwendungsprotokolls ein, die zeitgesteuert ausgeführt wird, und lassen Sie die Zeilen an Slack, Discord, per E-Mail oder über einen signierten Webhook zustellen – oder halten Sie die Nachricht zurück, bis eine bestimmte Zeilenanzahl, ein Schwellenwert oder eine prozentuale Änderung den von Ihnen festgelegten Wert überschreitet.
So funktionieren Benachrichtigungen und BerichteWas dies absichtlich nicht tut
Es handelt sich nicht um eine Live-Ausgabe. Query Streams liest die Dateien so, wie sie sich auf der Festplatte befinden, während Sie die Abfrage ausführen. Daher werden Fehlerspitzen als einzelne Zeilen und nicht als beobachteter Datenstrom angezeigt. Wenn Sie Benachrichtigungen im Subsekundenbereich benötigen, sobald eine Zeile ausgegeben wird, ist eine Log-Pipeline das richtige Werkzeug – darauf weisen wir hin.
Das Anwendungsprotokoll enthält alle Ausgaben Ihrer Anwendung. Das ist wichtig zu betonen: Wenn ein Token, eine Kunden-E-Mail oder der vollständige Anfragetext protokolliert wird, ist diese Zeichenkette bereits in der Datei und auch in der entsprechenden Spalte enthalten. Im Gegensatz zu Webserver-Protokollen gibt es keine Feldzuordnung zum Ausschließen von Feldern. Behandeln Sie die resultierende Tabelle genauso sorgfältig wie die Datei selbst.
Einige der in den Paketprotokollen aufgezeichneten Informationen lassen sich eher anhand ihrer Struktur erkennen als durch eine explizite Erfassung nachweisen. dpkg dokumentiert eine Zeile in der Konfigurationsdatei und säubern und verschwinden Maßnahmen; geeignete Dokumente Angefordert von, Fehler, Säubern, Neuinstallation und HerabstufungKeiner dieser Einträge erschien in den Protokollen, anhand derer diese Profile erstellt wurden; sie werden also nur deklariert, nicht demonstriert – und keines der Paketprotokolle deckt RPM-basierte Distributionen oder Windows ab.
Ein Detail bei der Einrichtung, keine Einschränkung: Die Spalte „Identität“ stammt aus dem Unterordner, in dem sich die Datei befindet. Verweist man auf ein Verzeichnis mit einem Unterordner pro Dienst oder Rechner, erhält man automatisch aussagekräftige Namen. Verweist man direkt auf ein Verzeichnis mit einzelnen Dateien, wird jede Zeile nach diesem Verzeichnis benannt. Das ist bei der Einrichtung dreißig Sekunden wert.
Der Rest entspricht dem üblichen Design. Der Agent stellt ausgehende Verbindungen her und liest Dateien; es wird nichts neben Ihrer Anwendung installiert, nichts wird zurückgeschrieben, kein Prozess wird angehängt oder instrumentiert, und der Zugriff ist schreibgeschützt.
So funktioniert es
Drei Schritte, und keine Änderung an der Art und Weise, wie Ihre Anwendung protokolliert.
Zeigen Sie auf den Protokollordner
Gewähren Sie einem Query Streams Agent Lesezugriff auf den Speicherort, an dem die Protokolle bereits abgelegt werden – den Ordner neben Ihrer Anwendung, eine Freigabe, auf der Sie sie sammeln, oder /var/log zur Pakethistorie.
Es erkennt das Format.
Query Streams ermittelt das Format anhand des Inhalts der Zeilen, nicht anhand des Dateinamens – so dass eine umbenannte Kopie weiterhin lesbar ist, und eine Datei, die nicht dem festgelegten Format entspricht, wird mit einer Begründung zwischengespeichert, anstatt die Tabelle zu beschädigen.
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 Ihr Fehlerprotokoll mit den Bestellungen und Benutzern in Ihrer Anwendungsdatenbank zu verknüpfen – alles in einer einzigen Anweisung.
Anwendungsprotokoll – Häufig gestellte Fragen
Welche Logging-Bibliothek muss ich verwenden?
Keine bestimmte. Wenn Sie JSON-Zeilen schreiben, werden die Feldnamen des Elastic Common Schema direkt übernommen, und auch Serilogs kompaktes Format, pino und Bunyan lassen sich problemlos lesen, da sie dieselben Schlüssel der obersten Ebene mit unterschiedlichen Schreibweisen verwenden – der Zeitstempel wird aus demjenigen der üblichen Namen übernommen, den Ihre Zeile tatsächlich enthält.
Wenn Sie Klartext schreiben, Zeitstempel [LEVEL] Protokollierer: Nachricht Shape ist ein eigenständiges, unterstütztes Format. Es muss nichts angepasst und nichts neu konfiguriert werden.
Was genau passiert mit einem Stack-Trace?
Es bleibt bei dem Fehler, der es verursacht hat. Ein Datensatz beginnt mit einer Zeile, die mit einem Zeitstempel beginnt, und jede nachfolgende Zeile, die keinen Zeitstempel enthält, wird als Fortsetzung dieser Zeile behandelt – genau wie ein Java-, .NET- oder Python-Trace aufgebaut ist. Die Ausnahmeklasse, die bei … Rahmen, ein Verursacht durch: Kette und ein Python Traceback Die Überschriften werden alle als zur darüber liegenden Zeile gehörig erkannt.
Der praktische Unterschied besteht darin, dass die Fehlerzählung tatsächlich Fehler erfasst. Ohne diese Erfassung würde eine einzige Ausnahme die Zahlen um die Anzahl der Frames, in denen sie ausgegeben wurde, verfälschen, und die eigentlich gewünschte Nachricht befände sich in einer anderen Zeile als der Klassenname.
Warum sind dpkg und apt in den Anwendungsprotokollen enthalten?
Denn sie beantworten die Frage, die man unmittelbar nach „Wann hat das Problem angefangen?“ stellt – nämlich „Was hat sich geändert?“. Es handelt sich um die Protokolldateien der Paketmanager selbst, die sich im selben Ordnerbaum befinden, auf dieselbe Weise gelesen werden und die nützlichste Ergänzung zu einem Fehlerprotokoll darstellen.
Die Historie von apt ist übersichtlich: ein Block pro Transaktion mit dem exakten Befehl und den installierten, aktualisierten oder entfernten Paketen. Das Protokoll von dpkg hingegen ist detaillierter und enthält eine Zeile pro Paketierungsschritt. So können Sie Änderungen immer dem Datum zuordnen, anstatt sich an das Datum zu erinnern.
Kann ich meine Fehler dem Upgrade zuordnen, das sie verursacht hat?
Ja, aber eines ist zu beachten: Ein Connector liest nur ein Format, daher müssen Ihre Anwendungsprotokolle und /var/log/apt/history.log Es handelt sich um zwei Konnektoren anstatt um einen. Eine föderierte Abfrage verknüpft sie in einer einzigen Anweisung, derselbe Mechanismus, der ein Protokoll mit einer Produktionsdatenbank verbindet.
Das ist die Abfrage, die es wert ist, auf dieser Familie aufgebaut zu werden – Fehler pro Stunde neben den Transaktionen, die an diesem Tag durchgeführt wurden, beides aus Dateien gelesen, die niemand irgendwohin versenden musste.
Ist das Echtzeit?
Es handelt sich um eine bedarfsgesteuerte Verarbeitung, nicht um Streaming. Die Dateien werden zum Zeitpunkt der Abfrage so gelesen, wie sie vorliegen. Neue Zeilen erscheinen also, sobald Ihre Anwendung sie schreibt und die Datei verarbeitet wird – nicht nach einem festen nächtlichen Zeitplan, aber auch nicht in Echtzeit.
Wenn es darum geht, eine Frage der letzten Wochen zu stellen und die Antwort in einer Tabellenkalkulation oder einem geplanten Bericht zu erfassen, ist das die nützliche Form und erfordert deutlich weniger Aufwand als ein Holzstapel.
Mein Protokoll enthält Felder, die Sie nicht aufgeführt haben. Sind diese verloren gegangen?
Nein. In den JSON- und apt-Formaten wird alles, was keiner benannten Spalte zugeordnet ist, in einem separaten Bereich gespeichert. Daten Die Spalte wird nicht verworfen, sodass eine Anforderungs-ID, ein Mandant oder eine protokollierte Dauer weiterhin abfragbar ist. Verschachtelte Objekte werden beim Import in durch Punkte getrennte Namen umgewandelt.
Eine Zeile, die überhaupt nicht dem festgelegten Format entspricht, wird ebenfalls beibehalten – als Rohdatenzeile mit einer zugehörigen Begründung, sodass eine unerwartete Formatänderung als etwas sichtbares erscheint und nicht als stille Lücke in Ihren Zahlen.
Wie sieht es mit der Pakethistorie von Red Hat, Fedora oder Alpine aus?
Es existiert kein Profil für dnf, lecker oder apk Heute gibt es kein Windows-Äquivalent. Die beiden hier verwendeten Paketformate sind das Protokoll von dpkg und der Verlauf von apt, der Debian und Ubuntu abdeckt.
Die Protokolle Ihrer Anwendung selbst bleiben davon unberührt – die JSON- und Textformate sind unabhängig vom verwendeten Distributionssystem. Und falls Sie sich nicht sicher sind, wie ein bestimmter Ordner erkannt wird, zeigt Ihnen die Verbindungsprüfung an, was sie gefunden hat, bevor Sie Änderungen vornehmen.
Ihre Anwendung hat es bereits vermerkt.
Verbinden Sie einen Protokollordner und führen Sie Ihre erste Abfrage in wenigen Minuten aus. Kostenlose Version, keine Kreditkarte erforderlich, keine Änderung Ihrer Protokollierungsmethode.
Schreibgeschützt · Nur ausgehende Verbindungen · Ihre Protokolle bleiben auf Ihrem Server












