Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Cribl Stream é um mecanismo de processamento que coleta, processa e transmite com segurança dados de eventos da máquina de qualquer fonte. Ele permite que você analise e processe esses dados para qualquer destino para análise e gerenciamento de forma segura.
Este artigo mostra como ingerir dados com o Cribl Stream.
Para obter uma lista completa de conectores de dados, consulte Visão geral de integrações de dados.
Pré-requisitos
- Uma conta Cribl Stream
- Um cluster e banco de dados do Azure Data Explorer com as políticas de cache e retenção padrão.
- Um ambiente de consulta. Para obter mais informações, consulte Visão geral das integrações de consulta.
- O seu URI de cluster Kusto para o valor TargetURI no formato https://ingest-<cluster>.<região>.kusto.windows.net. Para obter mais informações, consulte Adicionar uma conexão de cluster.
Criar um principal de serviço Microsoft Entra
O principal de serviço do Microsoft Entra pode ser criado programaticamente ou por meio do portal do Azure, como ilustrado no exemplo abaixo.
Esta entidade de serviço é a identidade usada pelo conector para gravar dados em sua tabela no Kusto. Você concede permissões para este principal de serviço acessar recursos do Kusto.
Inicie sessão na sua subscrição do Azure através da CLI do Azure. Em seguida, autentique-se no navegador.
az loginEscolha a assinatura para hospedar o principal. Esta etapa é necessária quando você tem várias assinaturas.
az account set --subscription YOUR_SUBSCRIPTION_GUIDCrie a entidade de serviço principal. Neste exemplo, o principal de serviço é chamado
my-service-principal.az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}Dos dados JSON retornados, copie os
appId,passwordetenantpara uso futuro.{ "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" }
Você criou a sua aplicação e principal de serviço do Microsoft Entra.
Crie uma tabela de destino
Crie uma tabela de destino para os dados recebidos e um mapeamento de ingestão para alinhar as colunas dos dados ingeridos com as colunas na tabela de destino.
Execute o seguinte comando de criação de tabela no editor de consultas, substituindo o espaço reservado TableName pelo nome da tabela de destino:
.create table <TableName> (_raw: string, _time: long, cribl_pipe: dynamic)Execute o seguinte comando create ingestion mapping , substituindo os espaços reservados TableName pelo nome da tabela de destino e TableNameMapping pelo nome do mapeamento de ingestão:
.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}]'Conceda à entidade de serviço de Criar uma entidade de serviço do Microsoft Entraingestor de banco de dados permissões de função para trabalhar com o banco de dados. Para obter mais informações, consulte Exemplos. Substitua o espaço reservado DatabaseName pelo nome do banco de dados de destino e ApplicationID pelo valor
AppIdque guardou ao criar um principal de serviço do Microsoft Entra..add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'App Registration'
Criar destino Cribl Stream
A seção a seguir descreve como criar um destino Cribl Stream que grava dados em sua tabela no Kusto. Cada tabela requer um conector de destino Cribl Stream separado.
Selecione o destino
Para conectar o Cribl Stream à sua tabela:
Na navegação superior do Cribl, selecione Gerenciar e selecione um Grupo de Trabalhadores.
Selecione Roteamento>QuickConnect (Stream)>Adicionar destino.
Na janela Configurar novo Destino do QuickConnect , escolha Azure Data Explorer e Adicionar agora.
Configurar configurações gerais
Na janela Novo Data Explorer , em Configurações Gerais , defina as seguintes configurações:
| Configurações | Valor | Descrição |
|---|---|---|
| ID de saída | <OutputID>, por exemplo, KustoDestination | O nome usado para identificar o seu destino. |
| Modo de ingestão | Envio em lote (padrão) ou Streaming | As configurações para o modo de ingestão. O processamento por lotes permite que a sua tabela extraia lotes de dados de um contêiner de armazenamento Cribl quando se ingere grandes quantidades de dados durante um curto período. O streaming envia dados diretamente para a tabela KQL de destino. O streaming é útil para ingerir pequenas quantidades de dados ou, por exemplo, enviar um alerta crítico em tempo real. O streaming pode alcançar uma latência menor do que o envio em lote. Se o modo de ingestão estiver definido como Streaming, você precisará habilitar uma política de streaming. Para obter mais informações, consulte Política de ingestão de streaming. |
| Cluster base URI | URI de base | O URI base. |
| URI do serviço de ingestão | ingestão de URI | Exibe quando o modo de envio em lote é selecionado. O URI de ingestão. |
| Nome da base de dados | <Nome do Banco de Dados> | O nome do banco de dados de destino. |
| Nome da tabela | <NomeDaTabela> | O nome da sua tabela de destino. |
| Validar configurações do banco de dados | Sim (padrão) ou Não. | Valida as credenciais do aplicativo principal de serviço que você inseriu quando salvou ou iniciou seu destino. Ele valida o nome da tabela, exceto quando Adicionar objeto de mapeamento está ativado. Essa configuração deve ser desabilitada se seu aplicativo não tiver as funções Visualizador de Banco de Dados e Visualizador de Tabela . |
| Adicionar objeto de mapeamento | Sim ou Não (padrão.) | Exibido somente quando o modo de envio em lote é selecionado em vez do campo de texto de mapeamento de dados padrão. Selecionar Sim abre uma janela para inserir um mapeamento de dados como um objeto JSON. |
| Mapeamento de dados | O nome do esquema de mapeamento, conforme definido na etapa Criar uma tabela de destino . | O nome do esquema de mapeamento. A exibição padrão quando Adicionar objeto de mapeamento é definida como Não. |
| Comprimir | gzip (padrão) | Quando formato de dados é definido como Parquet, Compactar não está disponível. |
| Formato de dados | JSON (padrão), Raw ou Parquet. | O formato dos dados. O Parquet só está disponível no modo Batching e só é suportado no Linux. |
| Comportamento de contrapressão | Bloquear (padrão) ou Soltar | Escolha se deseja bloquear ou soltar eventos quando os recetores estão exercendo contrapressão. |
| Etiquetas | Valores opcionais | Tags opcionais para filtrar e agrupar destinos na página Gerenciar destinos do Cribl Stream. Use uma guia ou retorno rígido entre os nomes das tags. Essas tags não são adicionadas a eventos processados. |
Quando terminar, selecione Avançar.
Definições de autenticação
Selecione Configurações de autenticação na barra lateral. Use os valores guardados em Criar uma entidade de serviço do Microsoft Entra juntamente com o seu URI base da seguinte forma:
| Configurações | Valor | Descrição |
|---|---|---|
| ID do inquilino | <ID do locatário> | Use o tenant valor que guardou em Criar um principal de serviço do Microsoft Entra. |
| ID de Cliente | <ID do Cliente> | Use os appId valores que guardou em Crie um principal de serviço do Microsoft Entra. |
| Âmbito de aplicação | <baseuri>/.default |
Use o valor do URI base para baseuri. |
| Método de autenticação | Segredo do cliente, segredo do cliente (segredo de texto) ou certificado | As opções são Segredo do cliente Use o segredo do cliente do aplicativo Microsoft Entra criado em Criar uma entidade de serviço do Microsoft Entra para segredo do cliente. Para o Certificado, o seu certificado utiliza a chave pública que foi registada/será registada para a aplicação Microsoft Entra que criou em Criar um principal de serviço Microsoft Entra. |
Em seguida, selecione Seguinte.
Fila persistente
Exibe quando o modo de ingestão está definido como Streaming e o comportamento de backpressure é definido como Fila persistente.
| Configurações | Valor | Descrição |
|---|---|---|
| Tamanho máximo do ficheiro | 1 MB (padrão) | O tamanho máximo do ficheiro de espera a atingir antes de fechar o ficheiro. Inclua unidades como KB ou MB, ao inserir um número. |
| Tamanho máximo da fila | 5 GB (padrão) | A quantidade máxima de espaço em disco que a fila pode consumir em cada Processo de Trabalho antes que o Destino pare de enfileirar dados. Um valor necessário de números positivos com unidades como KB, MB ou GB. O valor máximo é 1 TB. |
| Caminho do arquivo de fila |
$CRIBL_HOME/state/queues (padrão) |
O local do arquivo de fila persistente. Cribl Stream acrescenta /<worker‑id>/<output‑id> a este valor. |
| Compressão | Nenhum (padrão), gzip | O método de compressão a ser usado para compactar os dados persistentes, após o fechamento. |
| Comportamento de fila cheia | Bloquear ou Eliminar | Opte por bloquear ou descartar eventos quando a fila exercer pressão contrária devido à baixa capacidade do disco ou ao disco cheio. |
| Ordenação rigorosa | Sim (padrão) ou Não | Quando definido como Sim , os eventos são encaminhados com base na ordem de primeiro a entrar, primeiro a sair. Defina como Não para enviar novos eventos antes de eventos em fila anteriores. |
| Limite da taxa de drenagem (EPS) | 0 (padrão) | Esta opção é exibida quando Pedido estrito é definido como Não, para permitir que o utilizador defina uma taxa de limitação (em eventos por segundo) ao transmitir da fila para os recetores. A gestão controlada da taxa de escoamento de eventos em fila aumenta o desempenho de transferência de conexões novas ou ativas. Zero desativa o controlo. |
| Limpar fila persistente | NA | Selecione esta opção para excluir os arquivos atualmente na fila para entrega no seu destino. Você precisará confirmar essa ação, já que os dados enfileirados são excluídos permanentemente sem serem entregues. |
Quando terminar, selecione Avançar.
Configurações de processamento
| Configurações | Valor | Descrição |
|---|---|---|
| Gasoduto | <\defined_pipeline> | Um pipeline opcional para processar dados antes de enviá-los usando essa saída. |
| Campos do sistema |
cribl_pipe(padrão), cribl_host, cribl_input, cribl_output, cribl_route, ou cribl_wp |
Uma lista de campos que são adicionados automaticamente aos eventos antes de serem enviados para o destino. O uso de caracteres universais é suportado. |
Quando terminar, selecione Avançar.
Configurações de parquet
Exibe quando Parquet é selecionado para Formato de Dados.
Escolher Parquet abre o separador de Configurações do Parquet, para selecionar o esquema Parquet.
| Configurações | Valor | Descrição |
|---|---|---|
| Esquema automático | Ligado ou Desligado | Selecione Ativado para gerar um esquema Parquet com base nos eventos de cada arquivo Parquet que o Cribl Stream grava. |
| Esquema Parquet | lista suspensa | Exibe quando Esquema automático está definido como Desativado para permitir que você selecione seu esquema de parquet. |
| Versão Parquet | 1.0, 2.4, 2.6 (padrão) | A versão determina os tipos de dados suportados e como eles são representados. |
| Versão da página de dados | V1, V2 (padrão) | O formato de serialização da página de dados. Se o seu leitor Parquet não suporta Parquet V2, use V1. |
| Limite de linha do grupo | 1000 (padrão) | O número máximo de linhas que cada grupo pode conter. |
| Tamanho da página | 1 MB (padrão) | O tamanho da memória de destino para segmentos de página. Valores mais baixos podem melhorar a velocidade de leitura, enquanto valores mais altos podem melhorar a compressão. |
| Registar linhas inválidas | Sim ou Não | Quando Sim é selecionado e Nível de log é definido como debug, gera até 20 linhas exclusivas que foram ignoradas devido a incompatibilidade de formato de dados. |
| Escrever estatísticas | Ativado (padrão) ou Desativado | Selecione Ativado se tiver as ferramentas de visualização de estatísticas do Parquet configuradas. |
| Escrever índices de página | Ativado (padrão) ou Desativado | Selecione Ativado se o seu leitor de Parquet usa estatísticas de índice de página do Parquet para permitir que a página seja ignorada. |
| Escrever soma de verificação de página | Ligado ou Desligado | Selecione Ativado se você usar as ferramentas do Parquet para verificar a integridade dos dados usando somas de verificação de página do Parquet. |
| Metadados (opcional)* | As propriedades de metadados do ficheiro de destino que podem ser incluídas como pares de chave-valor. |
Repetições
Exibe quando o modo de ingestão está definido como Streaming.
| Configurações | Valor | Descrição |
|---|---|---|
| Respeitar o cabeçalho Retry-After | Sim ou Não | Se se deve honrar um Retry-After cabeçalho. Quando habilitado, um cabeçalho recebido Retry-After tem precedência e é usado antes de outras opções configuradas na seção Repetições, desde que o cabeçalho especifique um atraso de 180 segundos ou menos. Caso contrário, Retry-After os cabeçalhos serão ignorados. |
| Configurações para solicitações HTTP com falha | Códigos de estado HTTP | Uma lista de códigos de status HTTP para tentar novamente automaticamente se eles não conseguirem se conectar. O Cribl Stream tenta automaticamente novamente as solicitações que falharam com o código de erro 429. |
| Repetir solicitações HTTP cujo tempo limite expirou | Ligado ou Desligado | Quando definido, mais configurações de comportamento de repetição ficam disponíveis. |
| Intervalo antes do retrocesso (ms) | 1000 ms (padrão) | O tempo de espera antes de tentar novamente. |
| Multiplicador de recuo | 2 s (padrão) | Usado como base para o algoritmo de backoff exponencial para determinar o intervalo entre as tentativas. |
| Limite de recuo (ms) | 10.000 ms (padrão) | O intervalo máximo de backoff para a repetição final do streaming. Os valores possíveis variam de 10.000 milissegundos (10 segundos) a 180.000 milissegundos (3 minutos). |
Quando terminar, selecione Avançar.
Configurações avançadas
Selecione Configurações avançadas na barra lateral. A seguir são descritas as configurações avançadas quando Envio em lote é selecionado:
| Configurações | Valor | Descrição |
|---|---|---|
| Descarregar imediatamente | Sim ou Não (padrão.) | Defina como Sim para substituir a agregação de dados no Kusto. Para obter mais informações, consulte Práticas recomendadas para a biblioteca Kusto Ingest. |
| Reter o blob em caso de sucesso | Sim ou Não (padrão.) | Defina como Sim para reter o blob de dados após o final da ingestão. |
| Etiquetas de extensão | <\ExtentTag, ET2,...> | Defina tags, se desejado, para extensões particionadas da tabela de destino. |
| Imponha exclusividade por meio de valores de tag | Selecione Adicionar valor para especificar uma lista de ingest-by valores a ser usada para filtrar extensões de entrada e descartar as extensões correspondentes a um valor listado. Para obter mais informações, consulte Extensões (fragmentos de dados) |
|
| Nível de relatório | DoNotReport, FailuresOnly (padrão) e FailuresAndSuccesses. | O nível de notificação do estado de ingestão. |
| Método de relatório | Fila (padrão), Tabela e QueueAndTable (Recomendado.) | Alvo para relatórios de status de ingestão. |
| Campos adicionais | Adicione mais propriedades de configuração, se desejar, para enviar ao serviço de ingestão. | |
| Local de preparação |
/tmp (padrão) |
Local do sistema de arquivos local no qual armazenar arquivos em buffer antes de compactá-los e movê-los para o destino final. Cribl recomenda um local estável e de alto desempenho. |
| Expressão de sufixo de nome de arquivo |
.${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""}(padrão) |
Uma expressão JavaScript entre aspas ou backticks usada como o sufixo do nome do arquivo de saída.
format pode ser JSON ou raw, e __compression pode ser none ou gzip. Uma sequência aleatória de seis caracteres é acrescentada ao final dos nomes de arquivo para evitar que eles sejam substituídos. |
| Tamanho máximo do ficheiro (MB) | 32 MB (padrão) | O tamanho máximo de arquivo de saída não compactado que os arquivos podem alcançar antes de fecharem e serem movidos para o contêiner de armazenamento. |
| Tempo máximo de abertura do ficheiro (seg) | 300 segundos (padrão) | A quantidade máxima de tempo, em segundos, para gravar em um arquivo antes que ele seja fechado e movido para o contêiner de armazenamento. |
| Tempo ocioso máximo do arquivo (seg) | 30 segundos (padrão) | A quantidade máxima de tempo, em segundos, para manter os arquivos inativos abertos antes que eles fechem e sejam movidos para o contêiner de armazenamento. |
| Máximo de arquivos abertos | 100 (padrão) | O número máximo de arquivos a serem mantidos abertos ao mesmo tempo antes que os arquivos abertos mais antigos sejam fechados e movidos para o contêiner de armazenamento. |
| Máximo de partes de arquivo simultâneas | 1 (padrão) | O número máximo de partes de arquivo para carregar ao mesmo tempo. O padrão é 1 e o mais alto é 10. Definir o valor como um permite enviar uma peça de cada vez, sequencialmente. |
| Remover diretórios de preparação vazios | Sim (padrão) ou Não | Quando ativado, o Cribl Stream elimina os diretórios de staging vazios uma vez que os ficheiros são movidos. Isso evita a proliferação de diretórios vazios órfãos. Quando ativado, expõe o período de limpeza de preparo. |
| Período de limpeza de preparação | 300 (padrão) | A quantidade de tempo, em segundos, até que diretórios vazios sejam eliminados quando Remover diretórios de preparo estiver ativado. Exibe quando Remover diretórios de preparação vazios está definido como Sim. O valor mínimo é de 10 segundos e o máximo é de 86.400 segundos (a cada 24 horas). |
| Ambiente | Quando vazia (padrão), a configuração é ativada em todos os lugares. Se você estiver usando o GitOps, poderá especificar a ramificação do Git onde deseja habilitar a configuração. |
Quando terminar, selecione Salvar.
Configuração da conexão
Na janela Configuração de Conexão que se abre, selecione Conexão Passthru e Salvar. O conector começa a enfileirar os dados.
Confirmar a ingestão de dados
Assim que os dados chegarem à tabela, confirme a transferência de dados, verificando a contagem de linhas:
<Tablename> | countConfirme os processos de ingestão enfileirados nos últimos cinco minutos:
.show commands-and-queries | where Database == "" and CommandType == "DataIngestPull" | where LastUpdatedOn >= ago(5m)Confirme que não há falhas no processo de ingestão:
- Para o processamento em lote:
.show ingestion failures- Para streaming:
.show streamingingestion failures | order by LastFailureOn descVerifique os dados na tabela:
<TableName> | take 10
Para obter exemplos de consulta e orientação, consulte Escrever consultas na documentação do KQL e Kusto Query Language.