Dela via


Hämta data från Cribl Stream

Cribl Stream är en bearbetningsmotor som på ett säkert sätt samlar in, bearbetar och strömmar datorhändelsedata från valfri källa. Det gör att du kan parsa och bearbeta dessa data för alla mål för analys och hantering på ett säkert sätt.

Den här artikeln visar hur du matar in data med Cribl Stream.

En fullständig lista över dataanslutningar finns i Översikt över dataanslutningar.

Förutsättningar

Skapa ett huvudnamn för Microsoft Entra-tjänsten

Microsoft Entra-tjänstens huvudnamn kan skapas via Azure Portal eller programmatiskt, som i följande exempel.

Tjänstens huvudnamn är den identitet som används av anslutningsappen för att skriva data till tabellen i Kusto. Du beviljar behörigheter för tjänstens huvudnamn för åtkomst till Kusto-resurser.

  1. Logga in på din Azure-prenumeration via Azure CLI. Autentisera sedan i webbläsaren.

    az login
    
  2. Välj den prenumeration som ska vara värd för huvudkontot. Det här steget behövs när du har flera prenumerationer.

    az account set --subscription YOUR_SUBSCRIPTION_GUID
    
  3. Skapa tjänstens huvudnamn. I det här exemplet kallas my-service-principaltjänstens huvudnamn .

    az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
    
  4. Från de returnerade JSON-data kopierar du appId, passwordoch tenant för framtida användning.

    {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "my-service-principal",
      "name": "my-service-principal",
      "password": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "tenant": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
    

Du har skapat ditt Microsoft Entra-program och tjänstens huvudnamn.

Skapa en måltabell

Skapa en måltabell för inkommande data och en inmatningsmappning för att mappa de inmatade datakolumnerna till kolumnerna i måltabellen.

  1. Kör följande tabellskapandekommando i frågeredigeraren och ersätt platshållaren TableName med namnet på måltabellen:

    .create table <TableName> (_raw: string, _time: long, cribl_pipe: dynamic)
    
  2. Kör följande kommando för att skapa inmatningsmappning och ersätt platshållarna TableName med måltabellnamnet och TableNameMapping med namnet på inmatningsmappningen:

    .create table <TableName> ingestion csv mapping '<TableNameMapping>' 'CriblLogMapping' '[{"Name":"_raw","DataType":"string","Ordinal":"0","ConstValue":null},{"Name":"_time","DataType":"long","Ordinal":"1","ConstValue":null},{"Name":"cribl_pipe","DataType":"dynamic","Ordinal":"2","ConstValue":null}]'
    
  3. Bevilja tjänstens huvudnamn från Skapa en Microsoft Entra-tjänsthuvudnamnsdatabas ingestor-rollbehörighet för att arbeta med databasen. Mer information finns i Exempel. Ersätt platshållaren DatabaseName med namnet på måldatabasen och ApplicationID med det AppId värde som du sparade när du skapade ett Microsoft Entra-tjänsthuvudnamn.

    .add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'App Registration'
    

Skapa Cribl Stream-mål

I följande avsnitt beskrivs hur du skapar ett Cribl Stream-mål som skriver data till tabellen i Kusto. Varje tabell kräver en separat Cribl Stream-målanslutning.

Välj mål

Så här ansluter du Cribl Stream till tabellen:

  1. I det övre navigeringsfältet i Cribl väljer du Hantera och sedan en arbetargrupp.

  2. Välj Routnings-snabbanslutning>(Stream)>Lägg till mål.

  3. I fönstret Konfigurera nytt QuickConnect-mål väljer du Azure Data Explorer och sedan Lägg till nu.

Kommentar

Azure Data Explorer-anslutningen fungerar för både Azure Data Explorer och Realtidsinformation.

Konfigurera allmänna inställningar

I fönstret Ny Datautforskaren anger du följande inställningar i Allmänna inställningar :

Inställning Värde beskrivning
Utdata-ID <OutputID>, till exempel KustoDestination Namnet som används för att identifiera målet.
Inmatningsläge Batchbearbetning (standard) eller direktuppspelning Inställningarna för inmatningsläge. Med batchbearbetning kan tabellen hämta batchar med data från en Cribl-lagringscontainer när stora mängder data matas in under en kort tid. Direktuppspelning skickar data direkt till mål-KQL-tabellen. Direktuppspelning är användbart för att mata in mindre mängder data, eller till exempel skicka en kritisk avisering i realtid. Direktuppspelning kan ge lägre svarstid än batchbearbetning. Om inmatningsläget är inställt på Direktuppspelning måste du aktivera en strömningsprincip. Mer information finns i Policy för inmatning av direktuppspelning.
Klusterbas-URI bas-URI Bas-URI:n.
Inmatningstjänst-URI inmatnings-URI Visar när Batching-läget är valt. Inmatnings-URI:n.
Databasnamn <DatabaseName> Namnet på måldatabasen.
Tabellnamn <TableName> Namnet på måltabellen.
Verifiera databasinställningar Ja (standard) eller Nej. Verifierar de autentiseringsuppgifter för tjänstens huvudnamn som du angav när du sparar eller startar målet. Den validerar tabellnamnet, förutom när Lägg till mappningsobjekt är aktiverat. Den här inställningen bör inaktiveras om din app inte har roller för både Databasvisningsprogram och Tabellvisning .
Lägg till mappningsobjekt Ja eller Nej (standard.) Visas endast när batchningsläget är valt i stället för standardfältet Datamappningstext . Om du väljer Ja öppnas ett fönster för att ange en datamappning som ett JSON-objekt.
Datamappning Mappningsschemanamnet enligt definitionen i steget Skapa en måltabell . Namnet på mappningsschemat. Standardvyn när Lägg till mappningsobjekt är inställt på Nej.
Komprimera gzip (standard) När Dataformat har angetts till Parquet är Compress inte tillgängligt.
Dataformat JSON (standard), Raw eller Parquet. Dataformatet. Parquet är endast tillgängligt i Batching-läge och stöds endast i Linux.
Ryggtrycksbeteende Blockera (standard) eller Släpp Välj om du vill blockera eller släppa händelser när mottagare utövar ryggtryck.
Taggar Valfria värden Valfria taggar för att filtrera och gruppera mål på sidan Hantera mål i Cribl Stream. Använd en flik eller hård retur mellan taggnamn. Dessa taggar läggs inte till i bearbetade händelser.

När du är klar väljer du Nästa.

Autentiseringsinställningar

Välj Autentiseringsinställningar i sidopanelen. Använd de värden som du sparade i Skapa ett Microsoft Entra-tjänsthuvudnamn tillsammans med din bas-URI på följande sätt:

Inställning Värde beskrivning
Tenant ID <TenantID> Använd värdet tenant som du sparade i Skapa ett Huvudnamn för Microsoft Entra-tjänsten.
Klient-ID <ClientID> Använd de appId värden som du sparade i Skapa ett huvudnamn för Microsoft Entra-tjänsten.
Definitionsområde <baseuri>/.default Använd värdet från bas-URI :n för baseuri.
Autentiseringsmetod Klienthemlighet, klienthemlighet (texthemlighet) eller certifikat Alternativen är Klienthemlighet Använd klienthemligheten för Microsoft Entra-programmet som du skapade i Skapa ett Microsoft Entra-tjänsthuvudnamn för klienthemlighet. För Certifikat använder certifikatet den offentliga nyckel som du registrerade/registrerar för Microsoft Entra-programmet som du skapade i Skapa ett Microsoft Entra-tjänsthuvudnamn.

Välj sedan Nästa.

Beständig kö

Visar när inmatningsläget är inställt på Direktuppspelning, och Beteende för bakåttryck är inställt på Beständiga köer.

Inställning Värde beskrivning
Maximal filstorlek 1 MB (standard) Den maximala köfilstorleken som ska nås innan filen stängs. Inkludera enheter som KB eller MB när du anger ett tal.
Maximal köstorlek 5 GB (standard) Den maximala mängden diskutrymme som kön kan använda för varje arbetsprocess innan målet slutar köa data. Ett obligatoriskt värde för positiva tal med enheter som KB, MB eller GB. Det maximala värdet är 1 TB.
Köfilsökväg $CRIBL_HOME/state/queues (standard) Den beständiga köfilens plats. Cribl Stream lägger till /<worker‑id>/<output‑id> det här värdet.
Komprimering Ingen (standard), gzip Komprimeringsmetoden som ska användas för att komprimera bevarade data vid stängning.
Beteende för hela kön Blockera eller släpp Välj att blockera eller släppa händelser när kön utövar ryggtryck på grund av låg disk eller full diskkapacitet.
Strikt beställning Ja (standard) eller Nej När värdet är Ja vidarebefordras händelser baserat på först in, först utordning. Ställ in på Nej för att skicka nya händelser före tidigare köade händelser.
Dräneringshastighetsgräns (EPS) 0 (standard) Det här alternativet visas när Strikt ordning är inställt på Nej, så att du kan ange en begränsningsfrekvens (i händelser per sekund) när du skriver från kön till mottagare. Genom att begränsa avloppshastigheten för köade händelser ökar det nya eller aktiva anslutningsflödet. Noll inaktiverar begränsning.
Rensa beständig kö NA Välj om du vill ta bort filer som för närvarande finns i kö för leverans till ditt mål. Du måste bekräfta den här åtgärden eftersom köade data tas bort permanent utan att levereras.

När du är klar väljer du Nästa.

Bearbetningsinställningar

Inställning Värde beskrivning
Rörledning <\defined_pipeline> En valfri pipeline för att bearbeta data innan den skickas ut med hjälp av dessa utdata.
Systemfält cribl_pipe (standard), cribl_host, cribl_input, cribl_output, cribl_routeeller cribl_wp En lista över fält som läggs till automatiskt i händelser innan de skickas till målet. Jokertecken stöds.

När du är klar väljer du Nästa.

Parquet-inställningar

Visar när Parquet har valts för Dataformat.

Om du väljer Parquet öppnas fliken Parquet-inställningar för att välja Parquet-schemat.

Inställning Värde beskrivning
Automatiskt schema eller av Välj för att generera ett Parquet-schema baserat på händelserna i varje Parquet-fil som Cribl Stream skriver.
Parquet-schema listruta Visar när Automatiskt schema är inställt på Av så att du kan välja ditt parquet-schema.
Parquet-version 1.0, 2.4, 2.6 (standard) Versionen avgör vilka datatyper som stöds och hur de representeras.
Datasidans version V1, V2 (standard) Datasidans serialiseringsformat. Om Parquet-läsaren inte stöder Parquet V2 använder du V1.
Gräns för grupprad 1 000 (standard) Det maximala antalet rader som varje grupp kan innehålla.
Sidstorlek 1 MB (standard) Målminnesstorleken för sidsegment. Lägre värden kan förbättra läshastigheten, medan högre värden kan förbättra komprimering.
Logga ogiltiga rader Ja eller Nej När Ja har valts och loggnivån är inställd på debugutdata utdata upp till 20 unika rader som hoppades över på grund av att dataformatet inte matchar.
Skrivstatistik (standard) eller Av Välj om du har konfigurerat visningsverktyg för Parquet-statistik.
Skriva sidindex (standard) eller Av Välj om Parquet-läsaren använder Indexstatistik för Parquet-sidor för att aktivera sidhoppning.
Kontrollsumma för skrivsida eller av Välj om du använder Parquet-verktyg för att kontrollera dataintegriteten med parquet-sidkontrollsummor.
Metadata (valfritt)* Metadataegenskaperna för målfilen som kan inkluderas som nyckel/värde-par.

Försök

Visar när inmatningsläget är inställt på Direktuppspelning.

Inställning Värde beskrivning
Honor Retry-After-rubrik Ja eller Nej Om en rubrik ska respekteras Retry-After . När det är aktiverat används ett mottaget Retry-After huvud före andra konfigurerade alternativ i avsnittet Återförsök, så länge rubriken anger en fördröjning på 180 sekunder eller mindre. Annars Retry-After ignoreras rubriker.
Inställningar för misslyckade HTTP-begäranden HTTP-statuskoder En lista över HTTP-statuskoder som automatiskt försöker igen om de inte kan ansluta. Cribl Stream försöker automatiskt igen med 429 misslyckade begäranden.
Försök att överskrida tidsgränsen för HTTP-begäranden eller av När inställningen är inställd blir fler beteendeinställningar för återförsök tillgängliga.
Intervall före backoff (ms) 1 000 ms (standard) Väntetiden innan du försöker igen.
Multiplikator för backoff 2 s (standard) Används som bas för exponentiell backoff-algoritm för att fastställa intervallet mellan återförsök.
Backoff-gräns (ms) 10 000 ms (standard) Det maximala backoff-intervallet för det slutliga återförsöket för direktuppspelning. Möjliga värden sträcker sig från 10 000 millisekunder (10 sekunder) till 180 000 millisekunder (3 minuter.)

När du är klar väljer du Nästa.

Avancerade inställningar

Välj Avancerade inställningar i sidopanelen. Följande beskriver de avancerade inställningarna när Batching väljs :

Inställning Värde beskrivning
Töm omedelbart Ja eller Nej (standard.) Ställ in på Ja om du vill åsidosätta dataaggregering i Kusto. Mer information finns i Metodtips för Kusto-inmatningsbiblioteket.
Behåll blob vid lyckat resultat Ja eller Nej (standard.) Ställ in på Ja om du vill behålla databloben när inmatningen har slutförts.
Omfattningstaggar <\ExtentTag, ET2,...> Ange taggar, om så önskas, till partitionerade delar av måltabellen.
Framtvinga unikhet via taggvärden Välj Lägg till värde för att ange en ingest-by värdelista som ska användas för att filtrera inkommande omfattningar och ignorera de omfattningar som matchar ett angivet värde. Mer information finns i Omfattningar (datashards)
Rapportnivå DoNotReport, FailuresOnly (standard) och FailuresAndSuccesses. Rapporteringsnivån för inmatningsstatus.
Rapportmetod Queue (standard), Table och QueueAndTable (rekommenderas).) Mål för rapportering av inmatningsstatus.
Ytterligare fält Lägg till fler konfigurationsegenskaper om så önskas för att skicka till inmatningstjänsten.
Mellanlagringsplats /tmp (standard) Lokal filsystemplats där du kan buffrar filer innan du komprimerar och flyttar dem till det slutliga målet. Cribl rekommenderar en stabil och högpresterande plats.
Suffixuttryck för filnamn .${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""}(standard) Ett JavaScript-uttryck omgivet av citattecken eller backticks som används som utdatafilnamnssuffix. format kan vara JSON eller , och __compression kan vara ingen eller gzip. En slumpmässig sekvens med sex tecken läggs till i slutet av filnamnen för att förhindra att de skrivs över.
Maximal filstorlek (MB) 32 MB (standard) Den maximala okomprimerade utdatafilstorleken som filerna kan nå innan de stängs och flyttas till lagringscontainern.
Maximal filöppningstid (sek) 300 sekunder (standard) Den maximala tiden, i sekunder, för att skriva till en fil innan den stängs och flyttas till lagringscontainern.
Maximal inaktivitetstid för filer (sek) 30 sekunder (standard) Den maximala tiden, i sekunder, för att hålla inaktiva filer öppna innan de stängs och flyttas till lagringscontainern.
Maximalt antal öppna filer 100 (standard) Det maximala antalet filer som ska hållas öppna samtidigt innan de äldsta öppna filerna stängs och flyttas till lagringscontainern.
Maximalt antal samtidiga fildelar 1 (standard) Det maximala antalet fildelar som ska laddas upp samtidigt. Standardvärdet är 1 och det högsta är 10. Om värdet anges till en kan du skicka en del i taget sekventiellt.
Ta bort tomma mellanlagringsdirs Ja (standard) eller Nej När du växlar på Cribl Stream tas tomma mellanlagringskataloger bort efter att filer har flyttats. Detta förhindrar spridning av överblivna tomma kataloger. När det är aktiverat exponeras mellanlagringsrensningsperioden.
Mellanlagringsperiod 300 (standard) Hur lång tid i sekunder tills tomma kataloger tas bort när Ta bort mellanlagringsdirs är aktiverat. Visar när Ta bort tomma mellanlagringsdirs är inställt på Ja. Det minsta värdet är 10 sekunder och max är 86 400 sekunder (var 24:e timme.)
Miljö När den är tom (standard) aktiveras konfigurationen överallt. Om du använder GitOps kan du ange git-grenen där du vill aktivera konfigurationen.

När du är klar väljer du Spara.

Anslutningskonfiguration

I fönstret Anslutningskonfiguration som öppnas väljer du Passthru-anslutning och sedan Spara. Anslutningsappen börjar köa data.

Bekräfta datainmatning

  1. När data har hämtats i tabellen bekräftar du överföringen av data genom att kontrollera radantalet:

    <Tablename> 
    | count
    
  2. Bekräfta inmatningarna i kö under de senaste fem minuterna:

    .show commands-and-queries 
    | where Database == "" and CommandType == "DataIngestPull" 
    | where LastUpdatedOn >= ago(5m)
    
  3. Bekräfta att det inte finns några fel i inmatningsprocessen:

    • För batchbearbetning:
    .show ingestion failures
    
    • För direktuppspelning:
    .show streamingingestion failures 
    | order by LastFailureOn desc
    
  4. Verifiera data i tabellen:

    <TableName>
    | take 10
    

Frågeexempel och vägledning finns i Skriva frågor i KQL och Kusto-frågespråk dokumentation.