Este artigo responde às perguntas mais frequentes sobre a ingestão do Azure Data Explorer.
Ingestão enfileirada e latências de dados
Como a ingestão enfileirada afeta meus dados?
O gerenciador de envio em lote armazena em buffer e os lotes ingressam dados com base nas configurações de ingestão na política de envio em lote de ingestão. A política de envio em lote de ingestão define limites de lote de acordo com três fatores limitantes, o que for atingido primeiro: tempo decorrido desde a criação do lote, número acumulado de itens (blobs) ou tamanho total do lote. As configurações padrão de envio em lote são 5 minutos/1 GB/1.000 blobs, o que significa que haverá pelo menos um atraso de 5 minutos ao enfileirar dados de exemplo para ingestão.
Devo usar a ingestão em fila ou streaming?
A ingestão enfileirada é otimizada para alta taxa de transferência de ingestão e é o tipo de ingestão preferencial e de melhor desempenho. Por outro lado, a ingestão de streaming é otimizada para baixa latência de ingestão. Saiba mais sobre a ingestão em fila versus streaming.
Preciso alterar a política de envio em lote?
Se as configurações padrão da política de envio em lote de ingestão não atenderem às suas necessidades, você poderá tentar reduzir a política time
de envio em lote.
Consulte Otimizar para taxa de transferência.
Você também deve atualizar as configurações ao escalar verticalmente a ingestão.
Quando você altera as configurações de política de envio em lote, pode levar até 5 minutos para entrar em vigor.
O que causa a latência de ingestão enfileirada?
A latência de ingestão pode resultar das configurações de política de envio em lote de ingestão ou de um acúmulo de lista de pendências de dados. Para resolver isso, ajuste as configurações da política de envio em lote. As latências que fazem parte do processo de assimilação podem ser monitoradas.
Onde posso ver as métricas de latência de ingestão na fila?
Para exibir métricas de latência de ingestão enfileiradas, consulte monitorando a latência de ingestão. As métricas Stage Latency
mostram as Discovery Latency
latências no processo de ingestão e revelam se há latências longas.
Como posso reduzir as latências de ingestão enfileiradas?
Você pode saber mais sobre latências e ajustar as configurações na política de envio em lote para resolver problemas que causam latências, como listas de pendências de dados, envio em lote ineficiente, envio em lote de grandes quantidades de dados não compactados ou ingestão de quantidades muito pequenas de dados.
Como o tamanho dos dados em lote é calculado?
O tamanho dos dados da política de envio em lote é definido para dados não compactados. Ao ingerir dados compactados, o tamanho dos dados descompactados é calculado a partir de parâmetros de lote de ingestão, metadados de arquivos ZIP ou fator sobre o tamanho do arquivo compactado.
Monitoramento de ingestão, métricas e erros
Como posso monitorar problemas de ingestão?
Você pode monitorar a ingestão usando métricas e configurando e usando logs de diagnóstico de ingestão para monitoramento detalhado no nível da tabela, exibindo códigos de erro de ingestão detalhados e assim por diante. Você pode selecionar métricas específicas para acompanhar, escolher como agregar seus resultados e criar gráficos de métricas para visualizar em seu painel. Veja mais sobre métricas de streaming e como monitorar a ingestão enfileirada.
Onde posso ver insights sobre ingestão?
Você pode usar o Azure Monitor Insights do portal para ajudá-lo a entender como o Azure Data Explorer está sendo executado e como ele está sendo usado. A exibição Insight é baseada em métricas e logs de diagnóstico que podem ser transmitidos para um workspace do Log Analytics. Use o comando .dup-next-ingest para duplicar a próxima ingestão em um contêiner de armazenamento e revisar os detalhes e metadados da ingestão.
Onde verifico os erros de ingestão?
O processo de ingestão completa pode ser monitorado usando métricas de ingestão e logs de diagnóstico.
As falhas de ingestão podem ser monitoradas usando a IngestionResult
métrica ou o log de FailedIngestion
diagnóstico.
O .show ingestion failures
comando mostra falhas de ingestão associadas aos comandos de gerenciamento de ingestão de dados e não é recomendado para monitorar erros.
O .dup-next-failed-ingest
comando fornece informações sobre a próxima assimilação com falha carregando arquivos de assimilação e metadados em um contêiner de armazenamento.
Isso pode ser útil para verificar um fluxo de ingestão, embora não seja recomendado para monitoramento constante.
O que posso fazer se encontrar muitos erros de repetição?
As métricas que incluem o status da RetryAttemptsExceeded
métrica muitas vezes indicam que a ingestão excedeu o limite de tentativa de repetição ou o limite de intervalo de tempo após um erro transitório recorrente.
Se esse erro também aparecer no log de diagnóstico com o código General_RetryAttemptsExceeded
de erro e os detalhes "Falha ao acessar o armazenamento e obter informações para o blob", isso indicará um problema de acesso ao armazenamento de alta carga.
Durante a ingestão da Grade de Eventos, o Azure Data Explorer solicita detalhes do blob da conta de armazenamento.
Quando a carga é muito alta em uma conta de armazenamento, o acesso ao armazenamento pode falhar e as informações necessárias para ingestão não podem ser recuperadas.
Se as tentativas ultrapassarem a quantidade máxima de repetições definida, o Azure Data Explorer interromperá a tentativa de ingerir o blob com falha.
Para evitar um problema de carga, use uma conta de armazenamento premium ou divida os dados ingeridos em mais contas de armazenamento.
Para descobrir erros relacionados, verifique os FailedIngestion
logs de diagnóstico em busca de códigos de erro e dos caminhos de quaisquer blobs com falha.
Ingestão de dados históricos
Como posso ingerir grandes quantidades de dados históricos e garantir um bom desempenho?
Para ingerir com eficiência grandes quantidades de dados históricos, use o LightIngest. Para obter mais informações, consulte ingerir dados históricos. Para melhorar o desempenho de muitos arquivos pequenos, ajuste a política de envio em lote, altere as condições de envio em lote e resolva as latências. Para melhorar o desempenho da ingestão ao ingerir arquivos de dados extremamente grandes, use o Azure Data Factory (ADF), um serviço de integração de dados baseado em nuvem.
Ingestão de dados inválidos
O que acontece quando dados inválidos são ingeridos?
Dados malformados, não analisáveis, muito grandes ou não conformes ao esquema, podem não ser ingeridos corretamente. Para obter mais informações, consulte Ingestão de dados inválidos.
SDKs e conectores
Como posso melhorar a ingestão com SDKs?
Ao ingerir por meio do SDK, você pode usar as configurações da política de envio em lote de ingestão para melhorar o desempenho. Tente diminuir incrementalmente o tamanho dos dados ingeridos na política de envio em lote de tabela ou banco de dados para 250 MB. Verifique se há uma melhoria.
Como posso ajustar o Kusto Kafka Sink para melhorar o desempenho de ingestão?
Os usuários do Kafka Sink devem ajustar o conector para trabalhar em conjunto com a política de envio em lote de ingestão ajustando o tempo de lote, o tamanho e o número do item.