Beliebiges Textprotokoll

Custom Logs in abfragbare Tabellen umwandeln.

Manche Protokolle werden von Software geschrieben, die nur Ihr Unternehmen verwendet. Legen Sie einmal fest, wo ein Datensatz beginnt, welche Grammatik er verwendet, wo sich der Zeitstempel befindet und wie die Spalten heißen – und schon ist das Ergebnis eine Tabelle wie jede andere.

Verwende die Ergebnisse in Excel, Google Sheets, KI-Tools und deinen Apps über die Database REST API.

Jeder Connector-Typ ist im Free-Tarif verfügbar. Starte mit 2 Datenquellen und 1 Agent.

Benutzerdefinierte ProtokolleDateien direkt an ihrem Speicherort lesen
Innerhalb deines NetzwerksAbfrage von Datenströmen Netzwerk-Agent

Auf Ihrem Computer lesen, organisieren und abfragen.

Schreibgeschützte Abfragen · ausgehende Verbindung

Die Quelldateien bleiben an ihrem Speicherort. Ihre Tools erhalten Abfrageergebnisse.

Quelle → Agent → zulässige Ergebnisse

Query Streams liest beliebige Textprotokolle – auch solche, die von Software geschrieben werden, die nur Ihr Unternehmen verwendet – und macht aus dem Ordner eine laufende SQL-Tabelle, auf die Microsoft Excel, Google Sheets, KI-Assistenten über MCP, die REST API und Power BI zugreifen können. Sie beschreiben das Format einmal – Datensatzgrenze, Grammatik, Zeitstempel, Spalten und Rotation – und der Agent hält sich fortan unverändert an diese Beschreibung. Es stehen sechs Grammatiken zur Verfügung: getrennte Felder, key = value, grok, JSON-Zeilen, eine #Fields-Kopfdirektive und feste Breite. Zeilen, auf die die Beschreibung nicht passt, bleiben als Rohdatenzeilen erhalten, statt verworfen zu werden. Ein unerwartetes Format kostet Sie also nichts.

  • Sechs Grammatiken, einmal beschrieben
  • Nicht passende Zeilen bleiben erhalten und werden nie verworfen
  • Nichts wird zur Interpretation nach außen gesendet

Custom Logs mit den richtigen Einstellungen verbinden.

Lassen Sie die Verbindung auf dem Network Agent. Hier finden Sie die Custom Logs-spezifischen Details.

Ordner
Jeder Ordner mit Textprotokollen – auf einem lokalen Datenträger oder einer Netzwerkfreigabe im Format \\server\share (niemals ein zugeordnetes Laufwerk; unter Linux oder auf einem Mac zuerst einbinden); Unterordner eingeschlossen, Muster zum Ein- und Ausschließen werden unterstützt
Grammatiken
Getrennte Felder, key = value, grok, JSON-Zeilen, eine #Fields-Kopfdirektive und feste Breite
Datensatzgrenze
Sie legen fest, was gilt: eine Zeile pro Datensatz oder ein Muster, eine feste Anzahl, eine Leerzeile oder ein Trennmarker, damit mehrzeilige Datensätze vollständig bleiben
Zeitstempel
Position und Format werden beschrieben; wenn die Zeile das Jahr nicht enthält, kann es dem Änderungszeitpunkt der Datei oder ihrem Dateinamen entnommen werden
Rotation
Zehn benannte Rotationsmuster sowie nicht rotierte Dateien; komprimierte Archive werden direkt gelesen
Nicht zugeordnete Zeilen
Unverändert in events_raw_lines gespeichert und niemals verworfen
Anmeldedaten
Keiner – es gibt keinen Server; der Agent liest die Dateien direkt am Speicherort

Dies ist das einzige Protokollprofil, das Sie bearbeiten können, und genau das ist der Zweck: Alle anderen Profile sind von uns fest vorgegeben, damit sie sich nicht verändern. Der Kompromiss besteht darin, dass sich bei einer benutzerdefinierten Beschreibung nicht im Voraus wie bei einem ausgelieferten Profil nachweisen lässt, dass sie korrekt ist. An ihre Stelle tritt die Vorschau, die Ihre Beschreibung auf Ihre eigenen Dateien anwendet und Ihnen die Zeilen zeigt, bevor irgendetwas übernommen wird.

Entwickelt für die Funktionsweise von Custom Logs.

Die fünf Bestandteile eines Formats

Ein fest vorgegebenes Profil legt diese Werte für Sie fest. Bei „Custom“ können Sie alle fünf anpassen; zusammen bilden sie die vollständige Beschreibung – es gibt nichts Weiteres zu konfigurieren und nichts Verborgenes.

  • Datensatzgrenze – wo ein Datensatz endet und der nächste beginnt. So bleibt ein mehrzeiliger Stacktrace in einer einzigen Zeile.
  • Grammatik – getrennte Felder, key = value, grok, JSON-Zeilen, eine #Fields-Kopfdirektive oder feste Breite.
  • Zeitstempel – wo er sich befindet und in welchem Format er geschrieben ist, einschließlich der Quelle des Jahres, wenn es in der Zeile fehlt.
  • Spalten – wie jedes Feld heißt und welchen Typ es hat, damit Zahlen als Zahlen sortiert und Datumsangaben als Datumsangaben gefiltert werden.
  • Wachstumsmodell – wie die Datei wächst und rotiert, sodass das Archiv von gestern und die Live-Datei von heute eine Tabelle bilden.
-- Wie auch immer Sie die Spalten genannt haben, das ist einfach SQL
SELECT   file_name, severity, COUNT(*) AS lines
FROM     fileset.events
WHERE    severity IN ('WARN','ERROR')
GROUP BY file_name, severity
ORDER BY lines DESC

Probieren Sie zuerst die integrierten Profile aus

„Test connection“ vergleicht die gefundenen Merkmale mit den mitgelieferten Profilen und bietet das am besten passende an. Das ist ein Fingerabdruckabgleich, kein Modell, das Ihre Logs ausliest – über Ihre Dateien wird nichts zur Interpretation irgendwohin gesendet. Wenn ein integriertes Profil passt, verwenden Sie es: Ein fest zugewiesenes Profil ist mit weniger Pflege verbunden als eine eigene Beschreibung. Beschreiben Sie das Format selbst, wenn keines passt, und bitten Sie uns um ein integriertes Profil, wenn Sie lieber eines hätten.

Formate und Verhalten im Detail.

Öffnen Sie die Referenz, die Sie für Custom Logs benötigen.

Wenn es sich um eine Textdatei handelt, kann es sich um eine Tabelle handeln.
Die große Idee

Wenn es sich um eine Textdatei handelt, kann es sich um eine Tabelle handeln.

Drei Dateien in drei völlig unterschiedlichen Formaten – eine stammt von einer Fachanwendung, eine von einem Batchjob, eine von einem Rechner, den seit 2011 niemand mehr betreut hat. Beschreiben Sie jede Datei einmal, und die von Ihnen benannten Spalten sind die Spalten, die Sie abfragen. Kein Collector, der ausgeführt werden muss, kein Index, der gepflegt werden muss, keine zweite Datenkopie.

ProtokollordnerIhre Dateien
plant-audit.logSchlüssel=Wert
batch-2026-09-10.txtfeste Breite
robot.traceabgegrenzt

Rotationen, komprimierte Archive und erneut gelesene Dateien – alles wird verarbeitet

what-went-wrong.sqlSQL
SELECT Dateiname, Schweregrad,
       zählen(*) AS Linien
VON   fileset.events
WHERE  Schwere IN ('WARNEN','FEHLER')
GROUP BY Dateiname, Schweregrad
ORDER BY Linien DESC
ErgebnisIhre Spalten
DateinameSchwereLinien
plant-audit.logFEHLER268
Charge 2026-09-10WARNEN154
robot.traceFEHLER61
plant-audit.logWARNEN9

Es gibt ein Schwere Spalte, weil du gesagt hast, es gäbe eine

Veranschaulichende Zahlen – zeigen die Form des Ergebnisses, keine Benchmarkwerte

Sechs Möglichkeiten, die Bedeutung einer Zeile auszudrücken
Grammatiken

Sechs Möglichkeiten, die Bedeutung einer Zeile auszudrücken

Nahezu jedes jemals verfasste Textprotokoll folgt einer dieser sechs Formen. Finden Sie Ihre unten heraus; die Beispielzeile wird Ihnen meist schneller weiterhelfen als das Lesen der Beschreibung.

Grammatiken, die Sie auswählen können

6 Grammatiken
BegrenztCSV, TSV, Rohre, alles Mögliche
04:11:07,web-01,FEHLER,Festplatte voll
  • Geben Sie das Trennzeichen an – Komma, Tabulator, Semikolon, Pipe oder was auch immer die Datei verwendet
  • Anführungszeichen werden beachtet, daher bleibt ein Komma innerhalb einer Nachricht innerhalb der Anführungszeichen.
  • Eine Kopfzeile kann die Spalten für Sie benennen, anstatt sie einzutippen.
  • Das Dezimaltrennzeichen können Sie selbst festlegen, für die Dateien, in denen es ein Komma ist.
Schlüssel = Wertselbstbeschreibende Paare
ts=04:11:07 host=web-01 level=error
  • Die Schlüssel in der Zeile werden zu Spalten – Sie müssen sie nicht erneut angeben
  • Beide Trennzeichen liegen in Ihrer Hand: das, was zwischen Schlüssel und Wert sowie zwischen den Paaren steht.
  • Ein Präfix vor den Schlüssel-Wert-Paaren – ein Zeitstempel, ein Tag – kann übersprungen werden
  • Häufig in Anwendungs- und Maschinenprotokollen, die zum Parsen geschrieben wurden
Grok-Musterfür die Unbeholfenen
%{TIME:ts} %{LOGLEVEL:lvl} %{DATA:msg}
  • Benannte Erfassungsgruppen werden zu Spalten – der Ausweg, wenn nichts anderes passt
  • Die Musterbibliotheken hinter den integrierten Profilen dienen als Hilfsmittel.
  • Für eine Datei mit mehr als einer Linienform können verschiedene Muster nacheinander ausprobiert werden.
  • Der anfängliche Standardwert – eins Nachricht Spalte, dann verkleinern Sie sie
JSON-Zeilenein Objekt pro Zeile
{"ts":"04:11:07","level":"error"}
  • Felder werden zu Spalten, und Sie wählen aus, welche Sie tatsächlich möchten.
  • Ein verschachteltes Objekt bleibt als JSON-Objekt vollständig erhalten und wird nicht vereinfacht oder gelöscht.
  • Der Wrapper einer Container-Runtime kann entfernt werden, sodass Sie den inneren Datensatz abfragen
  • Was die meisten modernen Logging-Bibliotheken schreiben, wenn sie angewiesen werden, strukturiert zu sein
Header-AnweisungDie Datei benennt ihre eigenen Spalten
#Felder: Datum Uhrzeit s-ip cs-Methode
  • Eine Zeile im oberen Bereich deklariert die Felder, und die Spalten folgen darauf.
  • Das erweiterte W3C-Format und alles andere, was diese Idee übernommen hat
  • Sie benennen die Anweisung, sie muss also nicht ausgeschrieben werden. #Felder
  • Nichts muss synchron gehalten werden – die Datei ist die Quelle der Spaltenliste
Feste BreiteSpalten nach Position
20260910041107 web-01 FEHLER
  • Geben Sie jeder Spalte einen Namen, einen Start und eine Länge – kein Trennzeichen erforderlich
  • Die richtige Antwort für Dateien, in denen ein Feld das Trennzeichen enthalten kann.
  • Was schreiben immer noch Großrechner, Steuerungen und viele industrielle Anlagen?
  • Die Polsterung wird entfernt, damit ein Wert nicht in Zwischenräumen eingehüllt ankommt.
Fragen Sie nach einem eingebautenwenn es ein Format ist, das auch andere haben

Das Format selbst zu beschreiben ist der schnelle Weg. Wenn es sich um ein Format handelt, das viele verwenden, würden wir es lieber als integriertes Profil bereitstellen, das der Agent für alle fest zuweist – der Connector führt direkt zu einer entsprechenden Anfrage, und das Profil wird mit einem Agent-Update ausgeliefert.

Es ist wichtig, offenzulegen, worauf diese Aussage beruht. Die integrierten Profile auf den anderen Protokollseiten wurden jeweils anhand realer aufgezeichneter Dateien erstellt und getestet, und das geben wir dort auch an. Diese Voreinstellung kann nicht sein – Das Format entspricht Ihrer Beschreibung. Daher gibt es keine feste Struktur, die wir vorab hätten testen können. An ihre Stelle tritt die Vorschau: „Test connection“ führt Ihre Beschreibung mit Ihren eigenen Dateien aus und zeigt Ihnen, was geparst wurde und was nicht, bevor Sie sich auf etwas festlegen.
Einmal beschreiben, überall verwenden, wo Sie den Connector ausführen
Jede Website

Beschreibe es einmal. Benutze es überall dort, wo du läufst

Eine Beschreibung ist Teil des Connectors, nicht eines Rechners. Dieselben fünf Komponenten, die die Audit-Datei in der Zentrale lesen, lesen sie auch im Werk und in einer zweiten Region – und an jedem Standort läuft ein Network Agent, der die Dateien dort liest, wo sie liegen, und eine ausgehende Verbindung zu Query Streams herstellt. Aus Sicht Ihrer Firewall ist das eine gewöhnliche ausgehende Verbindung; Sie müssen also nichts öffnen und kein VPN einrichten.

Hauptsitz Eine Branchenanwendung, die ihre eigene Prüfdatei erstellt Wählt aus
Werksboden Ein Controller, der Batch-Datensätze fester Breite schreibt Wählt aus
EU-Westen Dieselbe App, dieselbe Beschreibung, ein zweiter Ordner Wählt aus

Drei ausgehende Verbindungen, ein Ort, an dem Sie sie abfragen können – kein eingehender Port, kein VPN, keine Änderung an der Firewall

Sie benennen die Identität

Jede Zeile ist mit ihrer Herkunft gekennzeichnet. Standardmäßig ist das der Dateiname. Wenn der Rechner oder Standort ein Feld in der Zeile oder ein Teil des Dateinamens ist, können Sie stattdessen dieses Feld als Kennzeichnung verwenden und danach gruppieren.

Dateiname · eine Spalte · Teil des Dateinamens

Nichts zum Öffnen

Der Agent baut eine verschlüsselte ausgehende Verbindung auf. Sowohl die ausgehende Anfrage als auch die zurückkommenden Zeilen laufen darüber. Kein eingehender Port, kein VPN, keine Änderung an der Firewall, um die Sie erst bitten müssen – und kein zusätzlicher Collector-Daemon auf einem Server, auf dem bereits einer läuft.

eine Verbindung, in beide Richtungen

Eine regionsübergreifende Abfrage

Jede Quelle in einem föderierte Abfrage benennt seinen eigenen Agent. So kann eine Abfrage ein maßgeschneidertes Log neben die Datenbank stellen, die es erklärt – die Batchdatei neben den zugehörigen Auftrag. Enthalten in Business und Enterprise.

1 Log + 1 Datenbank → 1 Ergebnismenge

Einmal geschrieben, nicht pro Website

Die Beschreibung eines Formats ist eine einmalige Aufgabe. Ein zweiter Ordner mit derselben Struktur ist ein zweiter Konnektor mit derselben Beschreibung; die Übertragung an einen anderen Speicherort ist daher ein Einrichtungsschritt und keine weitere Untersuchung.

1 Beschreibung → jeder Ordner dieses Formats

Die vier Fragen, die eine Textdatei nicht beantworten kann
Der schwierige Teil

Die vier Fragen, die eine Textdatei nicht beantworten kann

Das Parsen der Zeile ist der einfache Teil. Es geht um Dinge, die eine Logdatei nicht über sich selbst preisgibt, und jede dieser Angaben muss von Ihnen gemacht werden, anstatt dass wir sie erraten.

Wo eine Schallplatte beginnt und endet

Ein Stack-Trace besteht aus einem Ereignis über zwanzig Zeilen; liest man ihn als zwanzig Ereignisse, sind die Zahlen falsch. Es gibt sechs Möglichkeiten, die Grenze zu markieren: eine Zeile, ein Muster, das einen Datensatz öffnet, eine Leerzeile, ein öffnendes und schließendes Zeichen, eine Fortsetzungsregel oder eine feste Anzahl.

1 Datensatz entspricht nicht immer 1 Zeile

Die Kodierung hat keinen Standardwert.

Dieses Feld ist absichtlich das einzige, das nicht vorausgefüllt ist. UTF-8 für eine Latin-1-Datei anzunehmen, führt nicht zu einem Fehler – stattdessen werden unbemerkt alle Zeichen mit Akzenten verfälscht, und Sie bemerken es erst Monate später. Deshalb wird einmal vor der ersten Synchronisierung danach gefragt, statt zu raten.

gewählt, niemals angenommen

Das Jahr, in dem die Linie keine hat

Viele Formate geben Monat und Tag aus, aber nicht das Jahr. Es gibt drei Möglichkeiten: Das Jahr steht in der Zeile, wird aus dem Änderungszeitpunkt der Datei übernommen oder aus dem Dateinamen ausgelesen – dort ist es üblicherweise bei einem datierten Archiv zu finden.

in der Zeile · aus der Datei · aus dem Namen

Nichts zählte doppelt

Jede Datei wird anhand ihrer ersten 4 KB erkannt, sodass eine umbenannte oder rotierte Datei wiedererkannt und nicht erneut von Anfang an eingelesen wird. Zehn Rotationsmuster werden anhand des Namens erkannt – sowie keines für Dateien, die einfach weiterwachsen.

4-KB-Präfix-Hash · 20.000-Datensatz-Fenster

Fünf Teile, und dann ist es ein Tisch.
Die Beschreibung

Fünf Teile, und dann ist es ein Tisch.

Das ist alles, was Sie ausfüllen müssen. Jedes integrierte Profil auf den anderen Log-Seiten besteht aus denselben fünf Teilen, die wir ausgefüllt haben und die der Agent fest zuweist – hier gehören sie Ihnen.

DatensatzgrenzeWas zählt als ein Ereignis?
eine ZeileÖffnungsmusterleere ZeileStart- und EndmarkierungenFortsetzungsregelfeste Anzahl
Grammatikwie eine Schallplatte aufgeteilt wird
abgegrenztSchlüssel=WertGrokJSON-ZeilenHeader-Anweisungfeste Breite
Zeitstempelwelcher Teil ist die Zeit
FeldFormatZeitzoneJahresmoduszusammengesetzt aus zwei FeldernWerte, die Null bedeuten
SpaltenNamen und Arten
ZeichenfolgeintbigintdoppeltboolZeitstempelZeitstempelDatumJSON
Wachstumwie sich die Dateien ändern
fügt hinzuRotationsmusterkomprimierte SuffixeRing von Dateienmaximale Leitungslänge
Die Standardeinstellungen sind bewusst bescheiden, und das ist so gewollt: eins Nachricht eine Spalte pro Zeile, und der Ereigniszeitpunkt wird aus dem Änderungszeitpunkt der Datei übernommen. Das reicht aus, damit die erste Synchronisierung mit fast allem erfolgreich ist – anschließend verfeinern Sie die Beschreibung anhand der Vorschau, bis die Spalten Ihren Vorstellungen entsprechen. Jede Zeile enthält außerdem die Datei, aus der sie stammt, und alles landet in einer Tabelle, fileset.events.
Was dies absichtlich nicht tut

Was dies absichtlich nicht tut

Nenne zuerst den wichtigsten Punkt: Probieren Sie die integrierten Profile aus, bevor Sie zu diesem greifen.. Führen Sie „Test connection“ aus. Der Agent bietet das am besten passende integrierte Profil an, das er erkennt – ein integriertes Profil ist fest durch den Agent zugewiesen und wurde mit echten Dateien getestet, anders als eine Beschreibung, die Sie heute Nachmittag erstellt haben. Diese Voreinstellung ist der Ausweg für Formate, die sonst niemand verwendet, nicht der Standard-Einstiegspunkt.

Nichts liest Ihre Logs aus, um das Format für Sie zu ermitteln. Das Angebot einer passenden Übereinstimmung basiert auf dem Abgleich der Struktur Ihrer Datei mit den mitgelieferten Profilen – einem Musterabgleich mit bekannten Formaten, nicht einem Modell, das Ihre Daten ausliest. Wenn keines davon passt, müssen Sie die Beschreibung selbst verfassen; in der Vorschau können Sie sie überprüfen.

Es handelt sich nicht um eine Live-Ausgabe. Query Streams liest die Dateien während der Ausführung der Abfrage so, wie sie auf der Festplatte vorliegen. Daher werden fehlgeschlagene Aufträge als einzelne Zeilen und nicht als beobachteter Datenstrom angezeigt. Benötigen Sie Benachrichtigungen im Subsekundenbereich, sobald eine Zeile ausgegeben wird, ist eine Log-Pipeline das richtige Werkzeug.

Es liest Text, und nur Text. Archive und Binärdatenbanken im Ordner – .Reißverschluss, .cab, eine rohe Journaldatei – bleiben unberührt, statt geöffnet und analysiert zu werden. Komprimierte Rotationen eines Text-Logs werden gelesen; ein Container mit etwas anderem nicht.

Die Beschreibung kann fehlerhaft sein, weshalb nichts verworfen wird. Eine Zeile, deren Grammatik nicht übereinstimmt, wird als Rohdatensatz mit einer Begründung gespeichert. So wird ein Fehler sichtbar und abfragbar, anstatt als unbemerkte Lücke. Korrigieren Sie die Beschreibung und synchronisieren Sie erneut. Der Rest entspricht dem üblichen Design: Der Agent stellt eine ausgehende Verbindung her und liest Dateien. Es wird nichts auf dem Server installiert, nichts wird zurückgeschrieben, und der Zugriff ist schreibgeschützt.

Von der Verbindung zu nützlichen Ergebnissen.

  1. Installieren Sie den Network Agent an einem Ort, von dem aus er auf den Ordner zugreifen kann, und verweisen Sie den Connector darauf.
  2. Führen Sie zuerst „Test connection“ aus. Der Agent erstellt Fingerabdrücke der gefundenen Dateien und bietet das am besten passende integrierte Profil an – wenn eines passt, wählen Sie es aus und müssen nichts selbst beschreiben.
  3. Wenn keines passt, beschreiben Sie das Format selbst: wo ein Datensatz beginnt, welche der sechs Grammatiken verwendet wird, wo sich der Zeitstempel befindet und wie die Spalten heißen sollen.
  4. Wählen Sie das Rotationsmuster und bei Formaten, deren Zeitstempel kein Jahr enthalten, legen Sie fest, woher das Jahr stammen soll. Anschließend wird diese Beschreibung fest zugewiesen.
  5. Fragen Sie die Daten ab. Die Tabelle verhält sich genau wie die jedes anderen Log-Connectors, denn derselbe Treiber liest ein von Ihnen angegebenes Format statt eines von uns bereitgestellten.

Nutzen Sie Ihre Custom-Logs-Ergebnisse.

Eine Verbindung versorgt Ihre Tabellen, Apps und KI-Tools. Erteilen Sie die Berechtigung, eine gespeicherte Abfrage auszuführen; Empfänger sehen die zulässigen Ergebnisse, während SQL und Quell-Login verborgen bleiben.

Für Ihr Team, Ihre Lieferanten und Partner

Rufen Sie aktuelle Custom-Logs-Ergebnisse direkt in ein Arbeitsblatt ab und aktualisieren Sie sie bei Bedarf – in Excel für den Desktop, Excel Online und Microsoft 365.

Excel entdecken

Stellen Sie eine Frage in einfachem Englisch. Nova kennt Ihre Custom-Logs-Tabellen bereits, schreibt und führt das SQL aus, erklärt die Antwort und erstellt ein Diagramm – ganz ohne eigene Abfrage und ohne Zugangsdaten weiterzugeben.

So funktioniert Nova

Teilen Sie ein aktuelles Custom-Logs-Ergebnis mit beliebigen Personen – Kolleginnen und Kollegen, einem Anbieter oder einem Partner – als speicherbares Raster, das beim Öffnen neue Daten abruft, ob auf dem Smartphone, Tablet oder Desktop. Sie sehen die Ergebnisse, niemals das SQL oder die Dateien.

So funktioniert der Datenbetrachter

Für Apps und Systeme

Veröffentlichen Sie eine Custom-Logs-Abfrage als authentifizierten JSON-Endpunkt, den jede Anwendung aufrufen kann, einschließlich einer OpenAPI-3.1-Spezifikation und sofort einsatzbereiter Postman-, Insomnia- und Hoppscotch-Sammlungen. Es wird kein Datenbankport geöffnet.

REST API erkunden

Fügen Sie den generierten Power-Query-M-Code in den erweiterten Editor von Power BI ein. Der Bericht liest dann aktuelle Custom-Logs-Ergebnisse über HTTPS – ohne ODBC-Treiber und ohne geöffneten Datenbankport.

Power BI erkunden

Für KI-Tools

Ermöglichen Sie einem KI-Assistenten schreibgeschützten Zugriff auf Custom Logs und das benötigte Schema, damit er korrektes SQL schreiben kann – ohne Zugangsdaten im Chat.

MCP entdecken

An Personen geliefert

Führen Sie Custom Logs mit Ihren übrigen Daten zusammen.

Führen Sie Datenbanken, Business-APIs, Dateien und Protokolle in einer schreibgeschützten Abfrage zusammen. Jeder Connector unterstützt föderierte Abfragen.

Geben Sie Verbindungen und Tabellen an. Query Streams übernimmt die Quellabfragen und führt die Ergebnisse zusammen.

Föderierte Abfragen erkunden
Beispiel für eine quellenübergreifende Abfrage
– nichts kopiert, nichts zusammengeführt, nichts geplant
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VON     customlogs.fileset.orders1 f
JOIN     pg_crm.public.customers2   c ON c.id = f.customer_id
JOIN     Abrechnung.stripe.invoices3   i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY in Rechnung gestellte Beschreibung;

Verwenden Sie Ihre eigenen Namen für Verbindungen, Schemas, Tabellen und Spalten.

Gilt für die gesamte Connector-Familie.

Jeder Log-Connector stellt außerdem Folgendes bereit:

  • events – eine Zeile pro geparster Zeile, mit Zeitstempel, den von der Grammatik benannten Feldern und _source_file, das die Quelldatei angibt.
  • events_raw_lines – Zeilen, auf die die Grammatik nicht zutraf, werden unverändert beibehalten statt verworfen, sodass Sie auch zu einem nicht vorhergesehenen Format noch Fragen stellen können.
  • files_current und files_events – das aktuelle Inventar und der Prüfpfad: was hinzugekommen ist, rotiert wurde oder verschwunden ist sowie alles, was zurückgehalten wurde, jeweils mit Dateiname und Grund.
  • Rotation wird verstanden, nicht umgangen – zehn benannte Rotationsmuster plus nicht rotierte Dateien, sodass das Log von gestern und sein komprimiertes Archiv dieselbe Tabelle sind wie die Dateien von heute.

Gut zu wissen

  • Schreibgeschützt und strikt durchgesetzt – jeweils nur eine Anweisung, ausschließlich SELECT und ähnliche Befehle. Ihre Logs werden von uns niemals geschrieben, verschoben, rotiert oder gekürzt.
  • Es wird nichts hochgeladen – die Zeilen werden auf Ihrem eigenen Rechner neben dem Agenten analysiert und verschlüsselt zwischengespeichert. Nur das Ergebnis einer Abfrage verlässt Ihr Netzwerk.
  • Es werden nur neue Bytes gelesen – der Agent setzt in jeder Datei dort fort, wo er aufgehört hat, statt sie erneut einzulesen. So verursacht ein stark ausgelastetes Log nicht jeden Tag mehr Aufwand.
  • Der SQL-Dialekt ist DuckDB – dieselbe SQL-Sprache, die Sie auch für jeden anderen Connector verwenden würden.

Fragen zu Custom Logs

Wo kann ich Abfrageergebnisse aus Custom Logs verwenden?

Verwenden Sie Ergebnisse aus Custom Logs in Excel, Google Sheets und im Data Viewer, in Ihren Apps über die Database REST API sowie in KI-Tools über MCP oder Nova. Gespeicherte Ergebnisse können außerdem unterstützte Automatisierungsziele, Berichte und Benachrichtigungen beliefern. Die verfügbaren Ziele und Kontingente hängen von Ihrem Tarif ab.

Muss ich für Custom Logs einen eingehenden Port öffnen?

Nein. Installieren Sie den Network Agent auf einem Rechner, der Custom Logs erreichen kann. Der Agent baut eine ausgehende Verbindung zu Query Streams auf; ein eingehender Port oder ein VPN ist nicht erforderlich. Ihre Quelle muss dem Agent-Rechner gemäß ihren eigenen Zugriffsregeln weiterhin eine Verbindung erlauben.

Werden meine Custom-Logs-Dateien hochgeladen?

Der Network Agent liest Dateien an ihrem Speicherort und speichert seinen Cache auf dem Agent-Computer. Quelldateien werden weder hochgeladen noch verschoben oder umgeschrieben. Nur angeforderte Abfrageergebnisse verlassen Ihr Netzwerk über die verschlüsselte ausgehende Verbindung.

Was benötige ich, um Custom Logs zu verbinden?

Ordner: Ein beliebiger Ordner mit Textprotokollen – auf einem lokalen Datenträger oder einer Netzwerkfreigabe, angegeben als \\server\share (niemals als zugeordnetes Laufwerk; unter Linux oder auf einem Mac zuvor einbinden); Unterordner werden einbezogen, Einschluss- und Ausschlussmuster werden unterstützt. Formate: Trennzeichen, Schlüssel = Wert, grok, JSON-Zeilen, eine #Fields-Header-Direktive und feste Breite. Datensatzgrenze: Sie legen sie fest – eine Zeile pro Datensatz oder ein Muster, eine feste Anzahl, eine Leerzeile oder ein Sentinel, damit mehrzeilige Datensätze vollständig bleiben. Zeitstempel: Position und Format werden beschrieben; wenn die Zeile kein Jahr enthält, kann es aus dem Änderungszeitpunkt der Datei oder ihrem Dateinamen abgeleitet werden.

Kann ich Custom Logs mit anderen verbundenen Quellen verknüpfen?

Ja. Föderierte Abfragen unterstützen alle Connector-Typen, einschließlich Datenbanken, Business-APIs, Dateien und Protokollen. Geben Sie Verbindungen und Tabellen in einer einzigen schreibgeschützten Abfrage an. Query Streams übersetzt die Quellabschnitte bei Bedarf und führt die Ergebnisse zusammen. Erfahren Sie, wie föderierte Abfragen funktionieren.

Wann sollte ich dies anstelle eines integrierten Profils verwenden?

Wenn nichts anderes passt. Die integrierten Profile decken Maschinensteuerungen, Webserver, Container, Anwendungsframeworks und Systemprotokolle ab. Jedes wurde anhand echter Dateien erstellt und getestet. Wenn Ihr Protokoll zu einer dieser Kategorien gehört, ist die Auswahl des passenden Profils weniger Arbeit und besser getestet, als das Format selbst zu beschreiben.

Führen Sie einen Verbindungstest durch, bevor Sie sich entscheiden. Der Agent vergleicht die Struktur Ihrer Datei mit den mitgelieferten Profilen und bietet das ähnlichste an, das er erkennt. Die Antwort basiert also auf Ihren tatsächlichen Dateien und nicht auf einer Vermutung. Falls der Test keine Ergebnisse liefert, greifen Sie auf eine Beschreibung zurück.

Muss ich reguläre Ausdrücke kennen?

In der Regel nicht. Fünf der sechs Grammatiken benötigen überhaupt kein Muster: Eine durch Trennzeichen getrennte Datei benötigt ein Trennzeichen, eine Schlüssel-Wert-Datei beschreibt sich selbst, JSON-Zeilen beschreiben sich selbst, eine Header-Direktive benennt ihre eigenen Spalten, und eine Datei mit fester Breite benötigt einen Startwert und eine Länge pro Spalte.

Grok ist das sechste Format und der Ausweg für wirklich knifflige Zeilen. Selbst dann setzen Sie meist benannte Bausteine zusammen – einen Zeitstempel, eine Ebene, den Rest. Die Musterbibliotheken hinter den integrierten Profilen können Sie als Vorlage verwenden, statt ganz von vorn anzufangen.

Muss ich die Beschreibung gleich beim ersten Mal richtig formulieren?

Nein, und die Standardeinstellungen sind so konfiguriert, dass dies nicht nötig ist. Die erste Synchronisierung funktioniert standardmäßig mit fast jeder Textdatei: eine Nachricht eine Spalte pro Zeile, wobei die Ereigniszeit dem Änderungszeitpunkt der Datei entnommen wird. So erhalten Sie eine funktionierende Tabelle, die Sie sich tatsächlich ansehen können.

Danach verfeinern Sie die Beschreibung. In der Vorschau sehen Sie, wie sie sich auf Ihre eigenen Zeilen auswirkt. So können Sie beispielsweise einen Schweregrad oder eine Auftragsnummer in eine eigene Spalte übernehmen und das Ergebnis prüfen, bevor Sie die Änderungen übernehmen. Sie können die Beschreibung später ändern und erneut synchronisieren – bis dahin geht nichts verloren.

Meine Ereignisse erstrecken sich über mehrere Zeilen. Kann es einen Stacktrace verarbeiten?

Ja, und diese Einstellung wird am häufigsten benötigt. Ein Datensatz muss nicht aus einer einzelnen Zeile bestehen: Sie können festlegen, dass ein Datensatz beginnt, sobald eine Zeile einem Muster entspricht – üblich ist ein Zeitstempel am Zeilenanfang. Alles Folgende gehört zu diesem Datensatz, bis die nächste Übereinstimmung gefunden wird.

Falls die Form nicht stimmt, gibt es fünf weitere Möglichkeiten, die Grenze zu ziehen: eine Leerlinie zwischen den Datensätzen, eine Anfangs- und eine Endmarkierung, eine Regel für Fortsetzungszeilen oder eine feste Anzahl von Zeilen. Eine Ausnahme mit zwanzig Zeilen wird dann als eine einzige Zeile mit dem gesamten Datensatz dargestellt.

Was passiert, wenn die Zeilen überhaupt keinen Zeitstempel haben?

Das ist der Standardfall, und er funktioniert. Wenn kein Feld als Zeitfeld angegeben ist, wird die Ereigniszeit dem Änderungszeitpunkt der Datei entnommen. Die Zeilen lassen sich also weiterhin sortieren und berücksichtigen weiterhin eine Aufbewahrungsfrist; die Zeitangabe ist lediglich für die Datei statt für die Zeile genau.

Wenn die Zeitangabe in der Zeile steht, aber auf zwei Felder verteilt ist – eine Datumsspalte und eine Uhrzeitspalte, wie es bei Dateien mit fester Breite und bei Dateien mit Trennzeichen üblich ist –, können Sie beide angeben und zu einem Zeitstempel zusammenfügen lassen.

Welche Kodierung soll ich wählen?

UTF-8 ist für die meisten in diesem Jahrzehnt erstellten Dateien die richtige Wahl. Es ist das einzige Feld ohne Standardwert, und das ist Absicht: Angenommen, UTF-8 führt bei einer Latin-1-Datei nicht zu einem Fehler, dann werden alle Akzentzeichen stillschweigend verfälscht, und eine stillschweigende Beschädigung ist viel schlimmer als eine einmal gestellte Frage.

Wenn Sie sich nicht sicher sind, zeigt es Ihnen die Vorschau: Eine falsche Codierung ist in den Beispielzeilen sofort als Zeichensalat zu erkennen. Ältere Windows-Software und Industrieanlagen sind die üblichen Gründe dafür, dass die richtige Codierung nicht UTF-8 ist.

Könnten Sie mein Format stattdessen einfach als integriertes Format hinzufügen?

Fragen Sie uns. Wenn es sich um ein Format handelt, das eine angemessene Zahl von Personen verwendet – etwa ein kommerzielles Produkt, ein verbreitetes Framework oder eine Industrieanlage –, würden wir es lieber als integriertes Profil bereitstellen, statt jeden Kunden dasselbe beschreiben zu lassen. Über den Connector gelangen Sie direkt zu einer Anfrage.

Eine integrierte Lösung ist sowohl für Sie als auch für uns besser: Sie wird vom Agenten festgelegt, anhand realer Aufzeichnungen getestet und gelangt mit einem Agenten-Update auf Ihre Server, ohne dass jemand einen Konnektor berühren muss.

Was geschieht mit Zeilen, die nicht übereinstimmen?

Sie werden beibehalten, nicht gelöscht. Eine Zeile, die nicht der Grammatik entspricht, wird als Rohdatensatz mit einer Begründung beibehalten, sodass ein ungewöhnlicher Eintrag, ein Format, das sich unter Ihrer Aufsicht geändert hat, oder eine Beschreibung, die noch nicht ganz korrekt ist, als etwas angezeigt wird, das Sie einsehen und abfragen können, anstatt als stille Lücke in Ihren Zahlen.

Das ist das Sicherheitsnetz, das es erlaubt, eine Beschreibung ohne Bedenken zu verfeinern. Sie müssen sich nie zwischen einem strengen Parser entscheiden, der Daten verwirft, und einem nachlässigen, der eine Textwand liefert: Die geparsten Zeilen sind typisiert, und alles, was nicht geparst werden konnte, bleibt daneben erhalten.

Bringen Sie Custom Logs dorthin, wo die Arbeit stattfindet.

Beginnen Sie mit Free: alle Connector-Typen, 2 Datenquellen und 1 Network Agent. Erweitern Sie die Plan-Kontingente, wenn Ihr Bedarf wächst.