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
- Ett Cribl Stream-konto
- En KQL-databas
- En Azure-prenumeration Skapa ett kostnadsfritt Azure-konto.
- Din databasinmatnings-URI som ska användas som TargetURI-värde . Mer information finns i Kopiera URI.
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.
Logga in på din Azure-prenumeration via Azure CLI. Autentisera sedan i webbläsaren.
az login
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
Skapa tjänstens huvudnamn. I det här exemplet kallas
my-service-principal
tjänstens huvudnamn .az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
Från de returnerade JSON-data kopierar du
appId
,password
ochtenant
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.
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)
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}]'
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:
I det övre navigeringsfältet i Cribl väljer du Hantera och sedan en arbetargrupp.
Välj Routnings-snabbanslutning>(Stream)>Lägg till mål.
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_route eller 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 | På eller av | Välj På 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å debug utdata utdata upp till 20 unika rader som hoppades över på grund av att dataformatet inte matchar. |
Skrivstatistik | På (standard) eller Av | Välj På om du har konfigurerat visningsverktyg för Parquet-statistik. |
Skriva sidindex | På (standard) eller Av | Välj På om Parquet-läsaren använder Indexstatistik för Parquet-sidor för att aktivera sidhoppning. |
Kontrollsumma för skrivsida | På eller av | Välj På 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 | På 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 rå, 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
När data har hämtats i tabellen bekräftar du överföringen av data genom att kontrollera radantalet:
<Tablename> | count
Bekräfta inmatningarna i kö under de senaste fem minuterna:
.show commands-and-queries | where Database == "" and CommandType == "DataIngestPull" | where LastUpdatedOn >= ago(5m)
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
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.