Zet Custom Logs om in doorzoekbare tabellen.
Sommige logs worden geschreven door software die alleen uw bedrijf gebruikt. Geef één keer aan waar een record begint, welke grammatica het gebruikt, waar de tijdstempel staat en hoe de kolommen heten — en het is net als elk ander een tabel.
Gebruik de resultaten in Excel, Google Sheets, AI-tools en je apps via de Database REST API.
Elk type connector is beschikbaar in Free. Begin met 2 gegevensbronnen en 1 agent.
Lezen, ordenen en bevragen op uw machine.
Alleen-lezenquery's · uitgaande verbindingBronbestanden blijven op hun plek. Uw tools ontvangen queryresultaten.
Query Streams leest elk tekstlogbestand, ook bestanden die zijn geschreven door software die alleen uw bedrijf gebruikt, en zet de map om in een live SQL-tabel die leesbaar is vanuit Microsoft Excel, Google Sheets, AI-assistenten via MCP, de REST API en Power BI. U beschrijft de indeling één keer — recordgrens, grammatica, tijdstempel, kolommen en rotatie — en de agent houdt die beschrijving vanaf dat moment consistent. Er zijn zes grammatica’s beschikbaar: gescheiden waarden, key = value, grok, JSON-regels, een #Fields-headerinstructie en vaste breedte. Regels die niet overeenkomen met de beschrijving blijven behouden als onbewerkte rijen in plaats van te worden verwijderd, zodat een onverwachte indeling u niets kost.
- Zes grammatica’s, één keer beschreven
- Niet-overeenkomende regels blijven behouden, nooit verwijderd
- Er wordt niets elders heen gestuurd om te worden geïnterpreteerd
Verbind Custom Logs met de juiste instellingen.
Houd de verbinding op de Network Agent. Dit zijn de specifieke gegevens voor Custom Logs.
- Map
- Elke map met tekstlogs — op een lokale schijf of een netwerkshare die is opgegeven als \\server\share (nooit een toegewezen stationsletter; op Linux of een Mac eerst koppelen); submappen worden meegenomen en include- en excludepatronen worden ondersteund
- Grammatica's
- Gescheiden waarden, key = value, grok, JSON-regels, een #Fields-headerinstructie en vaste breedte
- Recordgrens
- U bepaalt dit zelf: één regel per record, of een patroon, een vast aantal, een lege regel of een scheidingsteken, zodat records met meerdere regels intact blijven
- Tijdstempels
- Positie en notatie worden beschreven; als het jaartal ontbreekt op de regel, kan het worden afgeleid van de wijzigingstijd van het bestand of van de bestandsnaam
- Rotatie
- Tien benoemde rotatiepatronen plus gewone bestanden zonder rotatie; gecomprimeerde archieven worden op hun oorspronkelijke locatie gelezen
- Niet-overeenkomende regels
- Ongewijzigd bewaard in events_raw_lines, nooit verwijderd
- Inloggegevens
- Geen — er is geen server; de agent leest de bestanden op hun huidige locatie
Dit is het enige logprofiel dat u kunt bewerken, en dat is precies de bedoeling: alle andere profielen zijn door ons vastgelegd, zodat ze niet kunnen afwijken. Daar staat tegenover dat niet vooraf kan worden bewezen dat een aangepaste beschrijving correct is, zoals dat wel kan bij een meegeleverd profiel. Daarvoor dient de preview: die past uw beschrijving toe op uw eigen bestanden en toont u de rijen voordat er iets wordt vastgelegd.
Ontworpen voor de manier waarop Custom Logs werkt.
De vijf onderdelen van een indeling
Een vergrendeld profiel legt deze onderdelen voor u vast. Custom geeft u toegang tot alle vijf; samen vormen ze de volledige beschrijving — er is niets anders om in te stellen en niets verborgen.
- Recordgrens — waar het ene record eindigt en het volgende begint; zo blijft een stacktrace met meerdere regels in één rij.
- Grammatica — gescheiden waarden, key = value, grok, JSON-regels, een #Fields-headerinstructie of vaste breedte.
- Tijdstempel — waar deze staat en hoe die is geschreven, inclusief waar het jaartal vandaan komt als het op de regel ontbreekt.
- Kolommen — de naam en het type van elk veld, zodat getallen als getallen worden gesorteerd en datums als datums kunnen worden gefilterd.
- Groeimodel - hoe het bestand groeit en roteert, zodat het archief van gisteren en het actieve bestand van vandaag één tabel vormen.
-- Hoe u de kolommen ook hebt genoemd, dit is gewoon SQL
SELECT file_name, severity, COUNT(*) AS lines
FROM fileset.events
WHERE severity IN ('WARN','ERROR')
GROUP BY file_name, severity
ORDER BY lines DESCProbeer eerst de ingebouwde profielen
Test connection vergelijkt wat het vindt met de meegeleverde profielen en biedt het profiel aan dat er het meest op lijkt. Dat is fingerprintmatching, geen model dat uw logs leest: er wordt niets over uw bestanden ergens naartoe gestuurd om te worden geïnterpreteerd. Past een ingebouwd profiel, gebruik het dan: een vastgezet profiel vraagt minder onderhoud dan een eigen beschrijving. Beschrijf het zelf als geen enkel profiel past, en vraag ons om een ingebouwd profiel als u dat liever hebt.
De indelingen en het gedrag, in detail.
Open de referentie die u nodig hebt voor Custom Logs.
Als het een tekstbestand is, kan het een tabel zijn.
Als het een tekstbestand is, kan het een tabel zijn.
Drie bestanden met drie onderling totaal verschillende indelingen — één geschreven door een bedrijfstoepassing, één door een batchtaak, één door een machine die sinds 2011 niet meer is onderhouden. Beschrijf elk bestand één keer en de kolommen die u benoemt, zijn de kolommen waarop u query's uitvoert. Geen collector om uit te voeren, geen index om te onderhouden, geen tweede kopie van de gegevens.
Rotaties, gecomprimeerde archieven en opnieuw gelezen bestanden — geregeld
SELECT bestandsnaam, ernst,
graaf(*) AS lijnen
VAN fileset.events
WAAR ernst IN ('WAARSCHUWEN','FOUT')
GROEP DOOR bestandsnaam, ernst
ORDER BY lijnen DESCEr is een ernst kolom, omdat je zei dat er een was
Ter illustratie — de vorm van het antwoord, geen benchmark
Zes manieren om uit te leggen wat een lijn betekent.
Zes manieren om uit te leggen wat een lijn betekent.
Vrijwel elk tekstlogboek dat ooit is geschreven, heeft een van deze zes vormen. Vind hieronder de vorm van jouw logboek; de voorbeeldregel zal je meestal sneller helpen dan het lezen van de beschrijving.
Grammatica's waaruit je kunt kiezen
6 grammatica's- Geef het scheidingsteken op — komma, tab, puntkomma, pipe, wat het bestand ook gebruikt
- Velden tussen aanhalingstekens worden gerespecteerd, dus een komma binnen een bericht blijft binnen de aanhalingstekens staan.
- Een kopregel kan de kolommen automatisch van een naam voorzien, in plaats van dat u deze zelf moet typen.
- U kunt zelf het decimale scheidingsteken instellen voor bestanden waar dit een komma is.
- De sleutels op de regel worden de kolommen — u hoeft ze niet opnieuw op te geven
- Beide scheidingstekens zijn van jou: wat zich tussen sleutel en waarde bevindt, en wat tussen paren staat.
- Een voorvoegsel vóór de sleutel-waardeparen — een tijdstempel, een tag — kan worden overgeslagen
- Komt vaak voor in applicatie- en machinelogboeken die zijn geschreven om te worden geanalyseerd.
- Benoemde captures worden kolommen — de uitweg wanneer niets anders past
- De patroonbibliotheken achter de ingebouwde profielen zijn er om te lenen van
- Voor een bestand met meer dan één lijnvorm kunnen verschillende patronen achter elkaar worden uitgeprobeerd.
- De standaardinstelling om mee te beginnen — één
berichtkolom, dan verklein je het.
- Velden worden kolommen, en je kiest zelf welke je wilt gebruiken.
- Een genest object blijft intact als JSON in plaats van te worden platgemaakt of verwijderd.
- De wrapper van een container-runtime kan worden verwijderd, zodat u de binnenste record kunt query'en
- Wat de meeste moderne logbibliotheken schrijven wanneer ze de opdracht krijgen om gestructureerd te zijn.
- Een regel bovenaan geeft de velden aan, en de kolommen volgen daaronder.
- Het W3C Extended Format, en alles wat verder van dat idee gebruikmaakte.
- Je geeft de richtlijn een naam, dus je hoeft hem niet uit te schrijven.
#Velden - Niets hoeft gesynchroniseerd te blijven — het bestand is de bron voor de kolomlijst
- Geef elke kolom een naam, een beginpositie en een lengte — een scheidingsteken is niet nodig
- Het juiste antwoord voor bestanden waarin een veld het scheidingsteken kan bevatten.
- Toch schrijven mainframes, controllers en veel industriële apparatuur dat nog steeds.
- De opvulling wordt verwijderd, zodat de waarde niet in spaties verpakt aankomt.
Zelf beschrijven is de snelste route. Als het een indeling is die veel mensen gebruiken, voegen we die liever toe als ingebouwd profiel dat de Agent voor iedereen vastzet — de connector linkt rechtstreeks naar een aanvraag en het profiel wordt geleverd met een update van de Agent.
Beschrijf het één keer en gebruik het overal waar u het uitvoert
Beschrijf het één keer. Gebruik het overal waar je rent.
Een beschrijving is onderdeel van de connector, niet van een machine. Dezelfde vijf onderdelen die het auditbestand op het hoofdkantoor lezen, lezen het ook in de fabriek en in een tweede regio — en elke locatie heeft een Network Agent die de bestanden ter plekke leest en uitgaand verbinding maakt met Query Streams. Vanuit het oogpunt van uw firewall is dat een gewone uitgaande verbinding, dus u hoeft niets open te zetten en geen VPN op te bouwen.
Drie uitgaande verbindingen, één plek om ze te doorzoeken — geen inkomende poort, geen VPN, geen firewallwijziging
Jij geeft de identiteit een naam.
Elke rij is voorzien van een label dat aangeeft waar deze vandaan komt. Standaard is dat de bestandsnaam. Als de machine of locatie een veld op de regel is — of deel uitmaakt van de bestandsnaam — kunt u dat in plaats daarvan als label gebruiken en erop groeperen.
bestandsnaam · een kolom · deel van de bestandsnaam
Niets om te openen
De Agent maakt één versleutelde uitgaande verbinding, en zowel het uitgaande verzoek als de terugkerende rijen lopen eroverheen. Geen inkomende poort, geen VPN en geen firewallwijziging die je moet aanvragen — en er komt geen collector-daemon bij op een server waarop er al een draait.
één verbinding, beide richtingen
Eén zoekopdracht in meerdere regio's
Elke bron in een gefedereerde query noemt de eigen Agent, zodat één statement een aangepast log naast de database kan plaatsen die het verklaart — het batchbestand naast de bestelling waar het bij hoort. Inbegrepen bij Business en Enterprise.
1 log + 1 database → 1 resultatenset
Eenmalig geschreven, niet per site.
Het beschrijven van een formaat is een eenmalige handeling. Een tweede map met dezelfde structuur is een tweede connector met dezelfde beschrijving, dus het uitrollen naar een andere locatie is een configuratiestap en geen nieuw onderzoek.
1 beschrijving → elke vergelijkbare map
De vier vragen die een tekstbestand niet zal beantwoorden
De vier vragen die een tekstbestand niet zal beantwoorden
Het ontleden van de regel is het makkelijke gedeelte. Dit zijn de dingen die een logbestand zelf niet vertelt, en elk ervan is iets wat je zelf aangeeft in plaats van iets wat wij kunnen raden.
Waar een record begint en eindigt
Een stacktrace is één gebeurtenis verdeeld over twintig regels, en als je die leest als twintig gebeurtenissen, kloppen de getallen niet. Er zijn zes manieren om de grens aan te geven: één regel, een patroon dat een record opent, een lege regel, een openings- en sluitingsmarkering, een voortzettingsregel of een vast aantal.
1 record is niet altijd 1 regel
De codering heeft geen standaardwaarde.
Dit is het enige veld dat met opzet leeg is gelaten. UTF-8 aannemen voor een Latin-1-bestand leidt niet tot een fout — alle tekens met accenten worden stilzwijgend verminkt en u komt daar pas maanden later achter. Daarom wordt er één keer naar gevraagd, vóór de eerste synchronisatie, in plaats van het te raden.
gekozen, nooit aangenomen.
Het jaar waarin de lijn geen
Veel indelingen vermelden een maand en een dag, en houden het daarbij. Er zijn drie manieren om dat op te lossen: het jaar staat op de regel, het wordt afgeleid van de wijzigingstijd van het bestand, of het wordt uit de bestandsnaam gelezen — waar een gedateerd archief het meestal vermeldt.
op de regel · uit het bestand · uit de naam
Niets telde dubbel.
Elk bestand wordt aan de hand van de eerste 4 KB van een fingerprint voorzien, zodat een hernoemd of geroteerd bestand wordt herkend in plaats van opnieuw vanaf het begin te worden gelezen. Tien rotatiepatronen worden herkend aan de hand van de naam — plus geen patroon, voor bestanden die gewoon blijven groeien.
Prefix-hash van 4 KB · venster van 20.000 records
Vijf delen, en dan is het een tabel.
Vijf delen, en dan is het een tabel.
Dit is alles wat u hoeft in te vullen. Elk ingebouwd profiel op de andere logpagina's bestaat uit dezelfde vijf onderdelen, door ons ingevuld en door de Agent vastgezet — hier zijn ze van u.
bericht een kolom per regel, waarbij de gebeurtenistijd wordt overgenomen uit de wijzigingstijd van het bestand. Dat is genoeg om de eerste synchronisatie op vrijwel alles te laten slagen — daarna verfijnt u de instellingen aan de hand van de preview totdat u de gewenste kolommen krijgt. Elke rij bevat ook het bestand waar deze vandaan komt, en alles komt in één tabel terecht, fileset.events.Wat dit bewust niet doet
Wat dit bewust niet doet
Noem de grootste eerst: Probeer eerst de ingebouwde profielen voordat je deze gebruikt.. Voer Test connection uit en de Agent biedt het ingebouwde profiel aan dat er het meest op lijkt — en een ingebouwd profiel is door de Agent vastgezet en met echte bestanden getest, iets wat niet geldt voor een beschrijving die u vanmiddag hebt geschreven. Deze preset is de uitweg voor indelingen die verder niemand gebruikt, niet het standaardstartpunt.
Er leest niets uw logs om de indeling voor u te bepalen. Het aangeboden profiel dat er het meest op lijkt, is gebaseerd op een vergelijking van de structuur van uw bestand met de meegeleverde profielen — patroonherkenning voor bekende indelingen, geen model dat uw gegevens leest. Als geen enkel profiel past, schrijft u zelf de beschrijving en controleert u die met de preview.
Het is geen live stream. Query Streams leest de bestanden zoals ze op de schijf staan op het moment dat u de query uitvoert. Een mislukte taak wordt daarom weergegeven als rijen in plaats van als een stream die u kunt volgen. Als u binnen een seconde een melding wilt ontvangen wanneer een regel wordt afgedrukt, is een logpipeline de juiste oplossing.
Het leest tekst, en alleen tekst. Archieven en binaire databases in de map — .zip, .taxi, een onbewerkt journalbestand — worden met rust gelaten in plaats van geopend en geraden. Gecomprimeerde rotaties van een tekstlog worden gelezen; een container met iets anders niet.
De beschrijving kan onjuist zijn, daarom wordt er niets weggegooid. Een regel waarvan de grammatica niet klopt, wordt bewaard als een onbewerkte regel met een bijbehorende reden, zodat een fout zichtbaar is en je er vragen over kunt stellen, in plaats van een onopgemerkt hiaat. Corrigeer de beschrijving en synchroniseer opnieuw. De rest volgt het gebruikelijke ontwerp: de agent maakt verbinding met de server en leest bestanden, er wordt niets op de server geïnstalleerd, er wordt niets teruggeschreven en de toegang is alleen-lezen.
Van verbinding naar bruikbare resultaten.
- Installeer de Network Agent op een plek waar deze de map kan zien en wijs de connector ernaartoe.
- Voer eerst Test connection uit. De Agent maakt fingerprints van wat hij vindt en biedt het ingebouwde profiel aan dat er het meest op lijkt — past er een, kies dat en u hoeft niets zelf te beschrijven.
- Als geen enkel profiel past, beschrijft u de indeling zelf: waar een record begint, welke van de zes grammatica's deze gebruikt, waar de tijdstempel staat en hoe de kolommen moeten heten.
- Kies het rotatiepatroon en, voor indelingen waarvan de tijdstempels het jaar weglaten, waar het jaar vandaan moet komen. Die beschrijving wordt vervolgens vastgezet.
- Voer er query's op uit. De tabel werkt precies zoals die van elke andere logconnector, omdat dezelfde driver een indeling leest die u hebt opgegeven in plaats van een indeling die wij hebben meegeleverd.
Haal meer uit uw Custom Logs-resultaten.
Eén verbinding bedient je spreadsheets, apps en AI-tools. Deel toestemming om een opgeslagen query uit te voeren; ontvangers zien de toegestane resultaten, terwijl de SQL-code en de inloggegevens van de gegevensbron verborgen blijven.
Voor uw team, leveranciers en partners
Haal live Custom Logs-resultaten rechtstreeks op in een werkblad en vernieuw ze wanneer je wilt — desktop-Excel, Excel Online, Microsoft 365.
Ontdek ExcelVoer een opgeslagen Custom Logs-query uit vanuit de zijbalk en plaats de rijen in het werkblad. Gedeelde bijdragers kunnen de gegevens zelf vernieuwen.
Ontdek Google SheetsStel een vraag in gewoon Nederlands. Nova kent je Custom Logs-tabellen al, schrijft en voert de SQL uit, legt het antwoord uit en maakt er een grafiek van — je hoeft geen query te schrijven en geen inloggegevens te delen.
Hoe Nova werktDeel een live Custom Logs-resultaat met iedereen — een collega, leverancier of partner — als een bladwijzerbare grid die bij het openen opnieuw actuele gegevens ophaalt, op een telefoon, tablet of desktop. Ze zien de resultaten, nooit de SQL of de bestanden.
Hoe de gegevensviewer werktVoor apps en systemen
Publiceer een Custom Logs-query als een geauthenticeerd JSON-eindpunt dat elke applicatie kan aanroepen, met een OpenAPI 3.1-specificatie en kant-en-klare collecties voor Postman, Insomnia en Hoppscotch. Er wordt geen databasepoort geopend.
REST API verkennenPlak de gegenereerde Power Query M in de geavanceerde editor van Power BI en het rapport leest live Custom Logs-resultaten via HTTPS — geen ODBC-stuurprogramma nodig en er wordt geen databasepoort geopend.
Power BI verkennenSynchroniseer volgens een schema Custom Logs-rijen naar een Airtable-base of haal ze op in een Airtable-automatiseringsscript.
Ontdek AirtableVul een Baserow-tabel met Custom Logs via het REST-eindpunt — zelfgehost of in de Baserow-cloud.
Ontdek BaserowHoud een SeaTable-base actueel met Custom Logs-gegevens zonder een bestand te exporteren of de database bloot te stellen.
Ontdek SeaTableZet Custom Logs-resultaten in een Smartsheet-grid, zodat plannen en rapporten gegevens uit het bronsysteem gebruiken in plaats van een export van vorige week.
Ontdek SmartsheetVoorzie een Anvil-app in Python van gegevens uit Custom Logs via het REST-eindpunt, in plaats van database-inloggegevens in de app op te nemen.
Ontdek AnvilVoor AI-tools
Geef een AI-assistent alleen-lezen toegang tot Custom Logs, inclusief het schema dat nodig is om correcte SQL te schrijven — geen inloggegevens in de chat.
Ontdek MCPBezorgd aan mensen
Plan een Custom Logs-query en laat de rijen bezorgen via Slack, Discord, e-mail of een ondertekende webhook — of houd het bericht tegen totdat een door jou ingestelde rijtelling, drempelwaarde of procentuele verandering wordt overschreden.
Hoe waarschuwingen en rapporten werkenKoppel Custom Logs aan de rest van je gegevens.
Breng databases, zakelijke API's, bestanden en logs samen in één alleen-lezenquery. Elke connector ondersteunt Federated Queries.
Vermeld de verbindingen en tabellen. Query Streams verwerkt de query's voor de gegevensbronnen en combineert de resultaten.
Federated Queries verkennen-- niets gekopieerd, niets samengevoegd, niets ingepland
SELECT c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VAN customlogs.fileset.orders1 f
JOIN pg_crm.publieke.klanten2 c ON c.id = f.customer_id
JOIN facturering.stripe.facturen3 i ON i.customer = c.stripe_id
GROEP DOOR c.regio
ORDER BY gefactureerd DESC;Gebruik je eigen verbindings-, schema-, tabel- en kolomnamen.
Gedeeld binnen de connectorfamilie.
Elke logconnector levert je ook
- events — één rij per geparseerde regel, met de tijdstempel, de velden die de grammaticaregels benoemen en _source_file met de naam van het bestand waaruit de regel afkomstig is.
- events_raw_lines — regels die niet overeenkomen met de grammaticaregels, letterlijk bewaard in plaats van weggegooid, zodat je ook vragen kunt beantwoorden over een formaat dat je niet had verwacht.
- files_current en files_events — de actuele inventaris en het auditspoor: wat is verschenen, wat is geroteerd, wat is verdwenen en wat is achtergehouden, inclusief de bestandsnaam en de reden.
- Rotatie wordt begrepen, niet omzeild — tien benoemde rotatiepatronen plus gewone, niet-geroteerde bestanden, zodat het logbestand van gisteren en het gecomprimeerde archief ervan dezelfde tabel zijn als dat van vandaag.
Goed om te weten
- Alleen-lezen, afgedwongen — één statement tegelijk, alleen SELECT en vergelijkbare opdrachten. Uw logs worden door ons nooit geschreven, verplaatst, geroteerd of afgekapt.
- Er wordt niets geüpload — regels worden op uw eigen machine, naast de agent, geparseerd en versleuteld in de cache opgeslagen. Alleen het resultaat van een query verlaat uw netwerk.
- Alleen nieuwe bytes worden gelezen — de agent gaat in elk bestand verder waar hij gebleven was, in plaats van het opnieuw te lezen. Zo kost een druk logbestand niet elke dag meer.
- Het SQL-dialect is DuckDB — dezelfde SQL die je voor elke andere connector zou schrijven.
Vragen over Custom Logs
Waar kan ik queryresultaten van Custom Logs gebruiken?
Gebruik resultaten van Custom Logs in Excel, Google Sheets, de Data Viewer, je apps via de Database REST API en AI-tools via MCP of Nova. Opgeslagen resultaten kunnen ook worden gebruikt door ondersteunde Automation-bestemmingen, rapporten en waarschuwingen. Beschikbaarheid van bestemmingen en gebruikslimieten zijn afhankelijk van je abonnement.
Moet ik een inkomende poort openen voor Custom Logs?
Nee. Installeer de Network Agent op een machine die toegang heeft tot Custom Logs. De agent maakt uitgaand verbinding met Query Streams; een inkomende poort of VPN is niet nodig. Je bron moet de agentmachine nog wel toestaan verbinding te maken volgens de eigen toegangsregels.
Worden mijn Custom Logs-bestanden geüpload?
De Network Agent leest bestanden op hun huidige locatie en bewaart de cache op de agentmachine. Bronbestanden worden niet geüpload, verplaatst of herschreven. Alleen de opgevraagde queryresultaten verlaten uw netwerk via de versleutelde uitgaande verbinding.
Wat heb ik nodig om Custom Logs te verbinden?
Map: elke map met tekstlogboeken — op een lokale schijf of een netwerkshare die is opgegeven als \\server\share (nooit een toegewezen stationsletter; op Linux of een Mac eerst koppelen); inclusief submappen, met ondersteuning voor inclusie- en exclusiepatronen. Grammatici: gescheiden waarden, key = value, grok, JSON-regels, een #Fields-headerdirective en vaste breedte. Recordgrens: zelf in te stellen — één regel per record, of een patroon, een vast aantal, een lege regel of een sentinel, zodat records met meerdere regels intact blijven. Tijdstempels: positie en indeling worden beschreven; als de regel geen jaartal bevat, kan dit worden afgeleid van de wijzigingstijd van het bestand of de bestandsnaam
Kan ik Custom Logs koppelen aan andere verbonden bronnen?
Ja. Federated Queries ondersteunen elk type connector, waaronder databases, zakelijke API's, bestanden en logs. Vermeld de verbindingen en tabellen in één alleen-lezenquery. Query Streams vertaalt waar nodig de queryonderdelen voor de gegevensbronnen en combineert de resultaten. Bekijk hoe Federated Queries werken.
Wanneer moet ik dit gebruiken in plaats van een ingebouwd profiel?
Als niets anders past. De ingebouwde profielen zijn bedoeld voor machinebesturingen, webservers, containers, applicatieframeworks en systeemlogboeken. Elk profiel is geschreven en getest met echte bestanden — dus als jouw logboek een van deze typen is, kost het minder werk en is het beter getest om dat profiel te kiezen dan om zelf een beschrijving te maken.
Voer een testverbinding uit voordat u een beslissing neemt. De agent vergelijkt de structuur van uw bestand met de meegeleverde profielen en biedt het meest overeenkomende profiel aan dat hij herkent. Het antwoord is dus gebaseerd op uw daadwerkelijke bestanden en niet op een gok. Vraag een beschrijving op als de test geen resultaat oplevert.
Moet ik reguliere expressies kennen?
Meestal niet. Vijf van de zes grammatica's hebben helemaal geen patroon nodig: een bestand met scheidingstekens heeft een scheidingsteken nodig, een bestand met sleutel=waarde beschrijft zichzelf, JSON-regels beschrijven zichzelf, een header-richtlijn benoemt zijn eigen kolommen en een kolom met vaste breedte heeft een begin- en een eindwaarde nodig.
Grok is de zesde optie en de uitweg voor echt lastige regels. Zelfs dan stel je vooral benoemde onderdelen samen — een tijdstempel, een niveau, de rest — en kun je de patroonbibliotheken achter de ingebouwde profielen als uitgangspunt gebruiken in plaats van met een lege regel te beginnen.
Moet ik de beschrijving meteen goed hebben?
Nee, en de standaardinstellingen zijn zo ingesteld dat u dat niet hoeft te doen. Een eerste synchronisatie lukt direct met vrijwel elk tekstbestand: één bericht één kolom per regel, waarbij de gebeurtenistijd wordt afgeleid van de wijzigingstijd van het bestand. Zo krijg je een werkende tabel die je daadwerkelijk kunt bekijken.
Daarna verfijn je de beschrijving. In het voorbeeld zie je wat je beschrijving met je eigen regels doet, zodat je bijvoorbeeld een ernstniveau of taaknummer in een eigen kolom kunt zetten en het resultaat kunt bekijken voordat je de wijzigingen toepast. Pas de beschrijving later aan en synchroniseer opnieuw — ondertussen is er niets weggegooid.
Mijn gebeurtenissen beslaan meerdere regels. Kan het een stack trace verwerken?
Ja, en dit is de instelling die mensen het vaakst nodig hebben. Een record hoeft niet uit één regel te bestaan: je kunt aangeven dat een record begint zodra een regel overeenkomt met een patroon — meestal een tijdstempel aan het begin van de regel — en dat alles daarna bij dat record hoort tot de volgende overeenkomst.
Er zijn nog vijf andere manieren om de grens te tekenen als dat niet de gewenste vorm is: een lege lijn tussen records, een openings- en een sluitingsmarkering, een regel voor wat als een vervolglijn geldt, of een vast aantal lijnen. Een uitzondering van twintig lijnen ontstaat dan in de vorm van één regel met de volledige trace erin.
Wat als de regels helemaal geen tijdstempel hebben?
Dat is het standaardgeval, en het werkt. Als er geen veld als tijd is opgegeven, wordt de gebeurtenistijd afgeleid van de wijzigingstijd van het bestand. De rijen kunnen dus nog steeds worden gesorteerd en houden rekening met een bewaartermijn; de tijd is alleen nauwkeurig op bestandsniveau in plaats van op regelniveau.
Als de tijd in de regel staat maar over twee velden is verdeeld — een datumkolom en een tijdkolom, wat vaak voorkomt in bestanden met vaste breedte en bestanden met scheidingstekens — kun je beide opgeven en ze laten samenvoegen tot één tijdstempel.
Welke codering moet ik kiezen?
UTF-8 is het juiste antwoord voor de meeste bestanden die in dit decennium zijn geschreven. Het is het enige veld zonder standaardwaarde, en dat is bewust: ervan uitgaande dat UTF-8 op een Latin-1-bestand geen foutmelding geeft, worden alle geaccentueerde tekens stilletjes verminkt, en een stille corruptie is veel erger dan een vraag die eenmaal gesteld is.
Als je twijfelt, laat het voorbeeld het zien: een verkeerde tekencodering verschijnt meteen als onleesbare tekst in de voorbeeldrijen. Oudere Windows-software en industriële apparatuur zijn de gebruikelijke redenen waarom UTF-8 niet het juiste antwoord is.
Kun je mijn formaat niet gewoon als een ingebouwde functie toevoegen?
Vraag het ons. Als het gaat om een indeling die redelijk veel mensen gebruiken — een commercieel product, een gangbaar framework of industriële apparatuur — nemen we die liever op als ingebouwd profiel dan dat elke klant hetzelfde zelf moet beschrijven. Via de koppeling kun je rechtstreeks een verzoek indienen.
Een ingebouwde oplossing is beter voor u én voor ons: deze wordt door de agent vastgezet, getest met echte opnames en komt met een agentupdate op uw servers terecht, in plaats van dat iemand een connector hoeft aan te raken.
Wat gebeurt er met lijnen die niet overeenkomen?
Ze worden bewaard, niet verwijderd. Een regel waarvan de grammatica niet klopt, wordt behouden als een onbewerkte regel met een bijbehorende reden. Zo wordt een afwijkende invoer, een formaat dat onder uw toezicht is gewijzigd, of een beschrijving die nog niet helemaal klopt, weergegeven als iets dat u kunt zien en controleren, in plaats van als een stille hiaat in uw cijfers.
Dat is het vangnet dat het redelijk maakt om een beschrijving te verfijnen. Je hoeft nooit te kiezen tussen een strikte parser die gegevens weggooit en een soepele parser die je opzadelt met een muur van tekst: de geparseerde rijen hebben een gegevenstype en alles wat niet kon worden geparseerd, blijft ernaast behouden.
Breng Custom Logs naar de plek waar het werk gebeurt.
Begin met Free: elk type connector, 2 gegevensbronnen en 1 Network Agent. Voeg abonnementslimieten toe naarmate je behoeften groeien.

