Hent data fra Cribl Stream
Cribl Stream er en behandlingsmotor som sikkert samler inn, behandler og strømmer maskinhendelsesdata fra en hvilken som helst kilde. Den lar deg analysere og behandle disse dataene for ethvert mål for analyse og administrasjon på en sikker måte.
Denne artikkelen viser hvordan du inntar data med Cribl Stream.
Hvis du vil ha en fullstendig liste over datakoblinger, kan du se Oversikt over datakoblinger.
Forutsetning
- En Cribl Stream-konto
- En KQL-database
- Et Azure-abonnement. Opprett en gratis Azure-konto.
- URI-en for databaseinntak som skal brukes som TargetURI-verdi . Hvis du vil ha mer informasjon, kan du se Kopier URI.
Opprette en Microsoft Entra-tjenestekontohaver
Microsoft Entra-tjenestekontohaveren kan opprettes gjennom Azure-portalen eller programmatisk, som i eksemplet nedenfor.
Denne tjenestekontohaveren er identiteten som brukes av koblingen til å skrive data til tabellen i Kusto. Du gir denne tjenestekontohaveren tillatelse til å få tilgang til Kusto-ressurser.
Logg på Azure-abonnementet via Azure CLI. Deretter godkjenner du i nettleseren.
az login
Velg abonnementet som vert for hovedstolen. Dette trinnet er nødvendig når du har flere abonnementer.
az account set --subscription YOUR_SUBSCRIPTION_GUID
Opprett tjenestekontohaveren. I dette eksemplet kalles
my-service-principal
tjenestekontohaveren .az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
Kopier ,
password
ogtenant
for fremtidig bruk,appId
fra de returnerte JSON-dataene.{ "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 opprettet Microsoft Entra-programmet og tjenestekontohaveren.
Opprette en måltabell
Opprett en måltabell for innkommende data og en inntakstilordning for å tilordne de inntatte datakolonnene til kolonnene i måltabellen.
Kjør følgende tabellopprettingskommando i redigeringsprogrammet for spørringen, og erstatte plassholderen TableName med navnet på måltabellen:
.create table <TableName> (_raw: string, _time: long, cribl_pipe: dynamic)
Kjør følgende kommandoen opprett inntakstilordning , og erstatte plassholderne TableName med navnet på måltabellen og TableNameMapping med navnet på inntakstilordningen:
.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}]'
Gi tjenestekontohaveren fra Opprett en rolletillatelse for microsoft Entra-tjenestekontohaverdatabasen til å arbeide med databasen. Hvis du vil ha mer informasjon, kan du se Eksempler. Erstatt plassholderen DatabaseName med navnet på måldatabasen og ApplicationID med
AppId
verdien du lagret da du opprettet en Microsoft Entra-tjenestekontohaver..add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'App Registration'
Opprett Cribl Stream-destinasjon
Den følgende delen beskriver hvordan du oppretter et Cribl Stream-mål som skriver data til tabellen i Kusto. Hver tabell krever en separat Cribl Stream-målkobling.
Velg mål
Slik kobler du Cribl Stream til tabellen:
Velg Administrer fra den øverste navigasjonen i Cribl, og velg deretter en arbeidergruppe.
Velg Ruting>quickConnect (Stream)>Legg til mål.
Velg Azure Data Explorer i vinduet Konfigurer nytt QuickConnect-mål, og legg til nå.
Merk
Azure Data Explorer-tilkoblingen fungerer for både Azure Data Explorer og Sanntidsintelligens.
Konfigurere generelle innstillinger
Angi følgende innstillinger i Generelle innstillinger i vinduet Ny datautforsker:
Innstilling | Verdi | Bekrivelse |
---|---|---|
Utdata-ID | <OutputID>, for eksempel KustoDestination | Navnet som brukes til å identifisere målet. |
Inntaksmodus | Batching (standard) eller strømming | Innstillingene for inntaksmodus. Batching gjør det mulig for tabellen å hente grupper med data fra en Cribl-lagringsbeholder når du inntar store mengder data over kort tid. Strømming sender data direkte til måltabellen KQL. Strømming er nyttig for å innta mindre mengder data, eller for eksempel sende et kritisk varsel i sanntid. Strømming kan oppnå lavere ventetid enn batching. Hvis inntaksmodus er satt til Strømming, må du aktivere en policy for strømming. Hvis du vil ha mer informasjon, kan du se Policy for strømming av inntak. |
KLYNGEBASE-URI | basis-URI | Basis-URI-en. |
INNTAKstjeneste-URI | inntaks-URI | Vises når Batching-modus er valgt. Inntaks-URI-en. |
Databasenavn | <Databasenavn> | Navnet på måldatabasen. |
Tabellnavn | <TableName> | Navnet på måltabellen. |
Valider databaseinnstillinger | Ja (standard) eller Nei. | Validerer legitimasjonen for tjenestekontohaverappen du har angitt når du lagrer eller starter målet. Det validerer tabellnavnet, bortsett fra når Legg til tilordningsobjekt er aktivert. Denne innstillingen bør deaktiveres hvis appen ikke har roller for både databasevisning og tabellvisning . |
Legg til tilordningsobjekt | Ja eller Nei (standard).) | Vises bare når satsvis modus er valgt i stedet for standard tekstfelt for datatilordning . Hvis du velger Ja , åpnes et vindu for å angi en datatilordning som et JSON-objekt. |
Datatilordning | Tilordningsskjemanavnet som definert i trinnet Opprett en måltabell . | Navnet på tilordningsskjemaet. Standardvisningen når Legg til tilordningsobjekt er satt til Nei. |
Komprimere | gzip (standard) | Når dataformat er satt til Parkett, er ikke Komprimer tilgjengelig. |
Dataformat | JSON (standard), Rå eller Parkett. | Dataformatet. Parquet er bare tilgjengelig i batchmodus og støttes bare på Linux. |
Virkemåte for bakgrunnstrykk | Blokk (standard) eller Slipp | Velg om du vil blokkere eller slippe hendelser når mottakere utøver bakgrunnstrykk. |
Tags | Valgfrie verdier | Valgfrie koder for filtrering og gruppemål på Siden Behandle mål for Cribl Stream. Bruk en fane eller hard retur mellom kodenavn. Disse kodene legges ikke til i behandlede hendelser. |
Når du er ferdig, velger du Neste.
Godkjenningsinnstillinger
Velg Godkjenningsinnstillinger i sidepanelet. Bruk verdiene du lagret i Opprett en Microsoft Entra-tjenestekontohaver sammen med den grunnleggende URI-en, som følger:
Innstilling | Verdi | Bekrivelse |
---|---|---|
Leier-ID | <TenantID> | tenant Bruk verdien du lagret i Opprett en Microsoft Entra-tjenestekontohaver. |
Klient-ID | <ClientID> | appId Bruk verdiene du lagret i Opprett en Microsoft Entra-tjenestekontohaver. |
Scope | <baseuri>/.default |
Bruk verdien fra basis-URI for baseuri. |
Godkjenningsmetode | Klienthemmelighet, klienthemmelighet (teksthemmelighet) eller sertifikat | Alternativer er klienthemmelighet Bruk klienthemmeligheten til Microsoft Entra-programmet du opprettet i Opprett en Microsoft Entra-tjenestekontohaver for klienthemmelighet. For Sertifikatet bruker sertifikatet fellesnøkkelen du registrerte/registrerer for Microsoft Entra-programmet du opprettet i Opprett en Microsoft Entra-tjenestekontohaver. |
Velg deretter Neste.
Fast kø
Vises når Inntaksmodus er satt til Strømming, og virkemåten for bakgrunnstrykk er satt til Fast kø.
Innstilling | Verdi | Bekrivelse |
---|---|---|
Maksimal filstørrelse | 1 MB (standard) | Maksimal filstørrelse i køen som skal nås før du lukker filen. Inkluder enheter som KB eller MB når du skriver inn et tall. |
Maksimal køstørrelse | 5 GB (standard) | Maksimal diskplass som køen kan bruke på hver arbeidsprosess før målet stopper kødata. En nødvendig verdi for positive tall med enheter som KB, MB eller GB. Maksimumsverdien er 1 TB. |
Køfilbane | $CRIBL_HOME/state/queues (standard) |
Den faste plasseringen av køfilen. Cribl Stream tilføyer /<worker‑id>/<output‑id> denne verdien. |
Komprimering | Ingen (standard), gzip | Komprimeringsmetoden som skal brukes til å komprimere de vedvarende dataene, ved lukking. |
Full virkemåte i kø | Blokk eller slipp | Velg å blokkere eller slippe hendelser når køen utøver bakgrunnstrykk på grunn av lav disk eller full diskkapasitet. |
Streng bestilling | Ja (standard) eller Nei | Når du setter til Ja-hendelser viderekobles basert på første inn, må du først bestille. Angi nei til å sende nye hendelser før tidligere hendelser i kø. |
Grense for avløpshastighet (EPS) | 0 (standard) | Dette alternativet vises når streng bestilling er satt til Nei, slik at du kan angi en begrensningsfrekvens (i hendelser per sekund) ved skriving fra køen til mottakere. Begrensning av avløpshastigheten for hendelser i kø øker gjennomstrømmingen av ny eller aktiv tilkobling. Null deaktiverer begrensning. |
Fjern fast kø | Ikke tilgjengelig | Velg for å slette filer som for øyeblikket er i kø for levering til målet. Du må bekrefte denne handlingen siden data i kø slettes permanent uten å bli levert. |
Når du er ferdig, velger du Neste.
Behandlingsinnstillinger
Innstilling | Verdi | Bekrivelse |
---|---|---|
Rørledning | <\defined_pipeline> | Et valgfritt datasamlebånd som kan behandles før du sender dem ut ved hjelp av denne utdataene. |
Systemfelt | cribl_pipe (standard), cribl_host , cribl_input , cribl_output , cribl_route eller cribl_wp |
En liste over felt som legges automatisk til hendelser før de sendes til målet. Jokertegn støttes. |
Når du er ferdig, velger du Neste.
Parquet-innstillinger
Vises når Parquet er valgt for Dataformat.
Hvis du velger Parquet, åpnes en Parquet-innstillinger-fane for å velge Parquet-skjemaet.
Innstilling | Verdi | Bekrivelse |
---|---|---|
Automatisk skjema | På eller av | Velg På for å generere et Parquet-skjema basert på hendelsene i hver Parquet-fil som Cribl Stream skriver. |
Parquet-skjema | rullegardinliste | Vises når Automatisk skjema er satt til Av , slik at du kan velge parkettskjemaet. |
Parquet-versjon | 1.0, 2.4, 2.6 (standard) | Versjonen bestemmer de støttede datatypene og hvordan de representeres. |
Datasideversjon | V1, V2 (standard) | Serialiseringsformatet for datasiden. Hvis Parquet-leseren ikke støtter Parquet V2, bruker du V1. |
Grupperadgrense | 1000 (standard) | Maksimalt antall rader som hver gruppe kan inneholde. |
Sidestørrelse | 1 MB (standard) | Størrelsen på målminnet for sidesegmenter. Lavere verdier kan forbedre lesehastigheten, mens høyere verdier kan forbedre komprimeringen. |
Logg ugyldige rader | Ja eller Nei | Når Ja er valgt, og loggnivået er satt til debug , sendes opptil 20 unike rader som ble hoppet over på grunn av manglende samsvar i dataformatet. |
Skrive statistikk | På (standard) eller Av | Velg På hvis du har konfigurert verktøy for visning av parkettstatistikk. |
Skrive sideindekser | På (standard) eller Av | Velg På hvis parkettleseren bruker indeksstatistikk for parquet-siden til å aktivere sidehopp. |
Skrive sidesjekksum | På eller av | Velg På hvis du bruker Parquet-verktøy til å kontrollere dataintegritet ved hjelp av parquet-sidekontrollsummer. |
Metadata (valgfritt)* | Metadataegenskapene for målfilen som kan inkluderes som nøkkelverdipar. |
Forsøk
Vises når Inntaksmodus er satt til Strømming.
Innstilling | Verdi | Bekrivelse |
---|---|---|
Topptekst for æresforsøk etter | Ja eller Nei | Om du vil respektere en Retry-After topptekst. Når det er aktivert, brukes et mottatt Retry-After topptekst foran andre konfigurerte alternativer i delen Nye forsøk, så lenge toppteksten angir en forsinkelse på 180 sekunder eller mindre. Ellers Retry-After ignoreres overskrifter. |
Innstillinger for mislykkede HTTP-forespørsler | HTTP-statuskoder | En liste over HTTP-statuskoder som automatisk kan prøves på nytt hvis de ikke kobler til. Cribl Stream sender automatisk 429 mislykkede forespørsler på nytt. |
Prøv på nytt tidsavbrutt HTTP-forespørsler | På eller av | Når dette er angitt, blir flere innstillinger for virkemåte for forsøk på nytt tilgjengelig. |
Pre-backoff intervall (ms) | 1000 ms (standard) | Ventetiden før du prøver på nytt. |
Backoff multiplikator | 2 s (standard) | Brukes som basis for eksponentiell backoff-algoritme for å bestemme intervallet mellom nye forsøk. |
Backoff-grense (ms) | 10 000 ms (standard) | Det maksimale backoff-intervallet for det endelige strømmingsforsøket. Mulige verdier varierer fra 10 000 millisekunder (10 sekunder) til 180 000 millisekunder (3 minutter.) |
Når du er ferdig, velger du Neste.
Avanserte innstillinger
Velg Avanserte innstillinger fra sidepanelet. Følgende beskriver de avanserte innstillingene når Batching er valgt:
Innstilling | Verdi | Bekrivelse |
---|---|---|
Tøm umiddelbart | Ja eller Nei (standard).) | Angi ja for å overstyre dataaggregasjon i Kusto. Hvis du vil ha mer informasjon, kan du se Anbefalte fremgangsmåter for Kusto Ingest-biblioteket. |
Behold blob ved vellykket | Ja eller Nei (standard).) | Sett til Ja for å beholde datablob ved fullføring av inntak. |
Omfangskoder | <\ExtentTag, ET2,...> | Angi koder, om ønskelig, til partisjonerte omfang av måltabellen. |
Fremtving unikhet via kodeverdier | Velg Legg til verdi for å angi en ingest-by verdiliste som skal brukes til å filtrere innkommende omfang og forkaste omfanget som samsvarer med en oppført verdi. Hvis du vil ha mer informasjon, kan du se Omfang (dataskår) |
|
Rapportnivå | DoNotReport, FailuresOnly (standard) og FailuresAndSuccesses. | Rapporteringsnivået for inntaksstatus. |
Rapportmetode | Kø (standard), Tabell og QueueAndTable (anbefales.) | Mål for rapportering av inninntaksstatus. |
Tilleggsfelt | Legg til flere konfigurasjonsegenskaper, om ønskelig, for å sende til inntakstjenesten. | |
Plassering for oppsamling | /tmp (standard) |
Lokal filsystemplassering der du bufrer filer før du komprimerer og flytter dem til det endelige målet. Cribl anbefaler en stabil plassering med høy ytelse. |
Filnavnsuffiksuttrykk | .${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""} (standard) |
Et JavaScript-uttrykk omsluttet av anførselstegn eller backticks som brukes som suffikset for utdatafilnavn. format kan være JSON eller raw, og __compression kan være ingen eller gzip. En tilfeldig sekvens med seks tegn legges til på slutten av filnavnene for å hindre at de blir overskrevet. |
Maksimal filstørrelse (MB) | 32 MB (standard) | Den maksimale ukomprimerte utdatafilstørrelsen som filene kan nå før de lukkes og flyttes til lagringsbeholderen. |
Maksimalt åpent klokkeslett for fil (sek) | 300 sekunder (standard) | Maksimal tid, i sekunder, for å skrive til en fil før den lukkes og flyttes til lagringsbeholderen. |
Maksimal tid for inaktiv fil (sek) | 30 sekunder (standard) | Maksimal tid, i sekunder, for å holde inaktive filer åpne før de lukkes og flyttes til lagringsbeholderen. |
Maksimalt antall åpne filer | 100 (standard) | Maksimalt antall filer som skal være åpne samtidig før de eldste åpne filene lukkes og flyttes til lagringsbeholderen. |
Maksimalt antall samtidige fildeler | 1 (standard) | Maksimalt antall fildeler som skal lastes opp samtidig. Standardverdien er 1 og den høyeste er 10. Hvis du angir verdien til én, kan du sende én del om gangen, sekvensielt. |
Fjern tomme oppsamlingsdirer | Ja (standard) eller Nei | Når du veksles på Cribl Stream, slettes tomme oppsamlingsmapper etter at du har flyttet filer. Dette hindrer spredning av foreldreløse tomme kataloger. Når den er aktivert, viser oppryddingsperioden for oppsamling. |
Oppryddingsperiode | 300 (standard) | Tidsmengden i sekunder til tomme kataloger slettes når Fjern oppsamlingsfeil er aktivert. Vises når Fjern tomme oppsamlingsdirer er satt til Ja. Minimumsverdien er 10 sekunder, og maksimum er 86 400 sekunder (hver 24. time.) |
Miljø | Når tom (standard) er konfigurasjonen aktivert overalt. Hvis du bruker GitOps, kan du angi Git-grenen der du vil aktivere konfigurasjonen. |
Når du er ferdig, velger du Lagre.
Tilkoblingskonfigurasjon
Velg Passthru-tilkoblingen fra tilkoblingskonfigurasjonsvinduet som åpnes, og deretter Lagre. Koblingen begynner å legge dataene i kø.
Bekreft datainntak
Når dataene kommer inn i tabellen, bekrefter du overføringen av data ved å kontrollere radantallet:
<Tablename> | count
Bekreft inntakene i kø de siste fem minuttene:
.show commands-and-queries | where Database == "" and CommandType == "DataIngestPull" | where LastUpdatedOn >= ago(5m)
Bekreft at det ikke er noen feil i inntaksprosessen:
- For gruppering:
.show ingestion failures
- For strømming:
.show streamingingestion failures | order by LastFailureOn desc
Bekreft data i tabellen:
<TableName> | take 10
Hvis du vil ha eksempler og veiledning for spørringer, kan du se Skrive spørringer i dokumentasjonen for KQL og Kusto-spørringsspråk.