Diagnosticar e resolver problemas em seu ambiente do Azure Time Series Insights Gen1
Nota
O serviço Time Series Insights será desativado em 7 de julho de 2024. Considere migrar os ambientes existentes para soluções alternativas o mais rápido possível. Para obter mais informações sobre a substituição e migração, visite nossa documentação.
Atenção
Este é um artigo Gen1.
Este artigo descreve problemas que você pode encontrar em seu ambiente do Azure Time Series Insights. O artigo oferece potenciais causas e soluções para a resolução.
Vídeo
Saiba mais sobre os desafios e mitigações comuns do Azure Time Series Insights
Problema: Nenhum dado é mostrado
Se nenhum dado estiver aparecendo no explorador do Azure Time Series Insights, considere estas causas comuns.
Causa A: Os dados de origem do evento não estão no formato JSON
O Azure Time Series Insights suporta apenas dados JSON. Para exemplos de JSON, consulte Formas JSON suportadas.
Causa B: A chave de origem do evento está faltando uma permissão necessária
Para um hub IoT no Hub IoT do Azure, você precisa fornecer a chave que tem permissões de conexão de serviço. Selecione iothubowner ou política de serviço. Ambos têm permissões de conexão de serviço.
Para um hub de eventos nos Hubs de Eventos do Azure, você precisa fornecer a chave que tem permissões de escuta. As políticas de leitura e gerenciamento funcionarão porque ambas têm permissões de escuta.
Causa C: O grupo de consumidores fornecido não é exclusivo do Azure Time Series Insights
Quando você registra um hub IoT ou um hub de eventos, é importante definir o grupo de consumidores que deseja usar para ler os dados. Este grupo de consumidores não pode ser partilhado. Se o grupo de consumidores for compartilhado, o hub IoT ou hub de eventos subjacente desconecta automática e aleatoriamente um dos leitores. Forneça um grupo de consumidores exclusivo para o Azure Time Series Insights ler.
Causa D: O ambiente acaba de ser provisionado
Os dados aparecerão no explorador do Azure Time Series Insights dentro de alguns minutos após o ambiente e seus dados serem criados pela primeira vez.
Problema: Alguns dados são mostrados, mas faltam dados
Quando os dados aparecem apenas parcialmente e os dados parecem estar atrasados, considere estes possíveis problemas.
Causa A: Seu ambiente está sendo limitado
A limitação é um problema comum quando os ambientes são provisionados após a criação de uma fonte de eventos com dados. O Hub IoT do Azure e os Hubs de Eventos do Azure armazenam dados por até sete dias. O Azure Time Series Insights sempre começa com o evento mais antigo na origem do evento (primeiro a entrar, primeiro a sair ou FIFO).
Por exemplo, se você tiver 5 milhões de eventos em uma fonte de eventos quando se conectar a um ambiente S1, de unidade única do Azure Time Series Insights, o Azure Time Series Insights lerá aproximadamente 1 milhão de eventos por dia. Pode parecer que o Azure Time Series Insights está com cinco dias de latência. Mas o que está acontecendo é que o meio ambiente está sendo estrangulado.
Se você tiver eventos antigos na origem do evento, poderá abordar a limitação de duas maneiras:
- Altere os limites de retenção da fonte de eventos para ajudar a remover eventos antigos que você não deseja exibir no Azure Time Series Insights.
- Provisione um tamanho de ambiente maior (número de unidades) para aumentar a taxa de transferência de eventos antigos. No exemplo anterior, se você aumentar o mesmo ambiente S1 para cinco unidades por um dia, o ambiente deverá recuperar o atraso dentro de um dia. Se a produção de eventos em estado estacionário for de 1 milhão ou menos de eventos por dia, você poderá reduzir a capacidade do evento para uma unidade depois que o Azure Time Series Insights se atualizar.
O limite de limitação imposto é baseado no tipo de SKU e na capacidade do ambiente. Todas as fontes de eventos no ambiente compartilham essa capacidade. Se a fonte de eventos do seu hub IoT ou hub de eventos enviar dados além dos limites impostos, você enfrentará limitação e um atraso.
A figura a seguir mostra um ambiente do Azure Time Series Insights que tem uma SKU de S1 e uma capacidade de 3. Pode receber 3 milhões de eventos por dia.
Imagine um ambiente que ingere mensagens de um hub de eventos. Tem uma taxa de entrada diária de cerca de 67.000 mensagens. Esta taxa traduz-se em aproximadamente 46 mensagens por minuto.
- Se cada mensagem do hub de eventos for nivelada para um único evento do Azure Time Series Insights, a limitação não ocorrerá.
- Se cada mensagem do hub de eventos for nivelada para 100 eventos do Azure Time Series Insights, 4.600 eventos deverão ser ingeridos a cada minuto.
Um ambiente SKU S1 com capacidade para 3 pode ingressar apenas 2.100 eventos a cada minuto (1 milhão de eventos por dia = 700 eventos por minuto em três unidades = 2.100 eventos por minuto).
Para obter uma compreensão de alto nível de como funciona a lógica de nivelamento, consulte Formas JSON suportadas.
Resoluções recomendadas para limitação excessiva
Para corrigir o atraso, aumente a capacidade de SKU do seu ambiente. Para obter mais informações, leia Dimensionar seu ambiente do Azure Time Series Insights.
Causa B: A ingestão inicial de dados históricos retarda a entrada
Se você conectar uma fonte de eventos existente, é provável que seu hub IoT ou hub de eventos já contenha dados. O ambiente começa a extrair dados desde o início do período de retenção de mensagens da fonte do evento. Esse processamento padrão não pode ser substituído. Você pode acionar a limitação. A limitação pode demorar um pouco para recuperar o atraso, pois ingere dados históricos.
Resoluções recomendadas para ingestão inicial grande
Para corrigir o atraso:
Aumente a capacidade de SKU para o valor máximo permitido (10, neste caso). Depois de aumentar a capacidade, o processo de entrada começa a recuperar o atraso muito mais rapidamente. Você será cobrado pelo aumento da capacidade. Para visualizar a rapidez com que está a recuperar o atraso, pode ver o gráfico de disponibilidade no explorador Azure Time Series Insights.
Quando o atraso for recuperado, diminua a capacidade de SKU para a sua taxa de entrada normal.
Problema: os dados estavam a ser apresentados anteriormente, mas já não estão a ser apresentados
Se o Azure Time Series Insights não estiver mais ingerindo dados, mas os eventos ainda estiverem sendo transmitidos para o Hub Iot ou o Hub de Eventos, considere essa causa potencial.
Causa A: Sua chave de acesso do hub foi regenerada e seu ambiente precisa ser atualizado
Esse problema ocorre quando a chave fornecida quando você criou sua fonte de evento não é mais válida. Você veria telemetria em seu hub, mas não Mensagens de Entrada Recebidas no Azure Time Series Insights. Se não tiver certeza se a chave foi regenerada, você pode pesquisar no log de atividades do hub de eventos por "Criar ou atualizar regras de autorização de namespace". Para um hub IoT, procure "Criar ou atualizar recurso IotHub".
Para atualizar seu ambiente do Azure Time Series Insights com a nova chave, abra seu recurso de hub no portal do Azure e copie a nova chave. Aceda ao recurso Azure Time Series Insights e selecione Origens de Eventos:
Selecione a fonte ou fontes de eventos das quais a ingestão parou, cole a nova chave e selecione Salvar:
Problema: A configuração do nome da propriedade de carimbo de data/hora da fonte do evento não funciona
Verifique se o valor da propriedade timestamp que vem da sua fonte de evento como uma cadeia de caracteres JSON está no formato aaaa-MM-ddTHH:mm:ss. FFFFFFFK. Aqui está um exemplo: 2008-04-12T12:53Z.
Lembre-se de que o nome da propriedade timestamp diferencia maiúsculas de minúsculas.
A maneira mais fácil de garantir que o nome da propriedade do carimbo de data/hora seja capturado e funcione corretamente é usar o explorador do Azure Time Series Insights. No explorador Azure Time Series Insights, usando o gráfico, selecione um período de tempo depois de inserir o nome da propriedade de carimbo de data/hora. Clique com o botão direito do rato na seleção e, em seguida, selecione Explorar eventos.
O cabeçalho da primeira coluna deve ser o nome da propriedade do carimbo de data/hora. Ao lado da palavra Timestamp, ($ts) será exibido.
Os seguintes valores não serão exibidos:
- (abc): indica que o Azure Time Series Insights está lendo os valores de dados como cadeias de caracteres.
- Ícone de calendário: indica que o Azure Time Series Insights está lendo os valores de dados como valores de data/hora.
- #: Indica que o Azure Time Series Insights está lendo os valores de dados como inteiros.
Próximos passos
Leia sobre como reduzir a latência no Azure Time Series Insights.
Saiba como dimensionar seu ambiente do Azure Time Series Insights.