Diagnosticar e resolver problemas no ambiente do Azure Time Series Insights Gen1

Cuidado

Esse é um artigo do Gen1.

Este artigo descreve problemas que você pode encontrar no seu ambiente do Azure Time Series Insights. O artigo fornece possíveis causas e soluções para resolução.

Vídeo

Saiba mais sobre os desafios e as mitigações comuns do Azure Time Series Insights

Problema: nenhum dado é mostrado

Se nenhum dado estiver aparecendo no Gerenciador 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 dá suporte somente a dados JSON. Para obter exemplos do JSON, consulte Formas de JSON com suporte.

Causa B: a chave da origem do evento não tem uma permissão necessária

  • Para um hub IoT no Hub IoT do Azure, você precisa fornecer a chave que tem as permissões de conexão de serviço. Selecione política iothubowner ou service. Ambos têm as permissões de conexão de serviço.

    Permissões de conexão de serviço do Hub IoT

  • Em um hub de eventos nos Hubs de Eventos do Azure, você precisa fornecer a chave que tem as permissões de escuta. As políticas de leitura ou de gerenciamento funcionarão porque ambas têm permissões de escuta.

    Permissão de escuta do hub de eventos

Causa C: o grupo de consumidores fornecido não é exclusivo ao 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. Esse grupo de consumidores não pode ser compartilhado. Se o grupo de consumidores for compartilhado, o hub IoT ou o hub de eventos subjacente desconectará de forma automática e aleatória um dos leitores. Forneça um grupo de consumidores exclusivo para leitura pelo Azure Time Series Insights.

Causa D: o ambiente acabou de ser provisionado

Os dados aparecerão no seu gerenciador do Azure Time Series Insights alguns minutos depois que o ambiente e os dados forem criados pela primeira vez.

Problema: alguns dados são exibidos, mas alguns estão ausentes

Quando os dados aparecem apenas parcialmente e os dados parecem estar atrasados, considere esses possíveis problemas.

Causa A: o ambiente está sendo restringido

A limitação é um problema comum quando os ambientes são provisionados após você criar uma origem do evento que tem dados. Os Hubs de Eventos do Azure e o Hub IoT 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 PEPS).

Por exemplo, se você tiver 5 milhões de eventos em uma origem do evento quando se conectar a um ambiente do Azure Time Series Insights S1 de unidade única, o Azure Time Series Insights lerá aproximadamente 1 milhão de eventos por dia. Pode parecer que o Azure Time Series Insights está apresentando cinco dias de latência. No entanto, o que está acontecendo é que o ambiente está sendo restringido.

Se houver eventos antigos na origem do evento, você poderá lidar com a limitação de duas maneiras:

  • Altere os limites de retenção da origem do evento para ajudar a remover eventos antigos que você não quer exibir no Azure Time Series Insights.
  • Provisionar um tamanho de ambiente maior (número de unidades) para aumentar a taxa de transferência de eventos antigos. No exemplo anterior, se você tiver aumentado o mesmo ambiente S1 para cinco unidades por um dia, o ambiente deverá ser atualizado em um dia. Se a produção de evento de estado contínuo for de um milhão ou menos de eventos por dia, será possível reduzir a capacidade do evento para uma unidade após o Azure Time Series Insights ser atualizado.

A limitação imposta é baseada na capacidade e no tipo de SKU do ambiente. Todas as origens do evento no ambiente compartilham essa capacidade. Se a origem do evento do hub de eventos ou do hub IoT enviar dados por push além dos limites impostos, você enfrentará a limitação e um atraso.

A figura a seguir mostra um ambiente do Azure Time Series Insights com um SKU S1 e uma capacidade de 3. Ele pode ingressar 3 milhões de eventos por dia.

Capacidade do ambiente

Imagine um ambiente que ingere mensagens de um hub de eventos. Ele tem uma taxa de entrada diária de cerca de 67.000 mensagens. Essa taxa é equivalente a aproximadamente 46 mensagens por minuto.

  • Se cada mensagem do hub de eventos for nivelada com um evento do Azure Time Series Insights, a limitação não ocorrerá.
  • Se cada mensagem do hub de eventos for nivelada com 100 eventos do Azure Time Series Insights, 4.600 eventos deverão ser ingeridos a cada minuto.

Um ambiente de SKU S1 que tem uma capacidade de 3 pode ingressar apenas 2.100 eventos por minuto (1 milhão de eventos por dia = 700 eventos por minuto em 3 unidades = 2.100 eventos por minuto).

Para obter um alto nível de entendimento sobre como funciona a lógica de nivelamento, confira Formas de JSON com suporte.

Para corrigir o retardo, aumente a capacidade do SKU do ambiente. Para obter mais informações, leia Escalar o seu ambiente do Azure Time Series Insights.

Causa B: a ingestão inicial de dados históricos retarda a entrada

Se você se conectar a uma origem do evento existente, provavelmente o hub IoT ou o hub de eventos já conterá dados. O ambiente inicia o pull dos dados desde o início do período de retenção de mensagens da origem do evento. Esse processamento padrão não pode ser substituído. Você pode acionar a limitação. A limitação pode levar algum tempo para ficar atualizada conforme ela consome os dados históricos.

Para corrigir o retardo:

  1. aumente a capacidade do SKU para o valor máximo permitido (10, neste caso). Após você aumentar a capacidade, o processo de entrada começará a se atualizar muito mais rapidamente. Você é cobrado pelo aumento da capacidade. Para visualizar a rapidez da atualização, você pode exibir o gráfico de disponibilidade no gerenciador do Azure Time Series Insights.

  2. Depois que o retardo for atualizado, diminua a capacidade do SKU para a taxa de entrada normal.

Problema: os dados estavam sendo mostrados anteriormente, mas não estão mais sendo mostrados

Se o Azure Time Series Insights não estiver mais ingerindo dados, mas os eventos ainda estiverem transmitindo para o Hub IoT ou o Hub de Eventos, considere esta possível causa.

Causa A: a chave de acesso do hub foi regenerada e o seu ambiente precisa ser atualizado

Esse problema ocorre quando a chave fornecida na criação da origem do evento não é mais válida. Você vê a telemetria no seu hub, mas nenhuma Mensagem Recebida de Entrada no Azure Time Series Insights. Se você não tiver certeza se a chave foi regenerada, poderá pesquisar no log de atividades do seu hub de eventos "Criar ou Atualizar Regras de Autorização de Namespace". Em um hub IoT, procure "Criar ou atualizar o recurso IotHub".

Para atualizar o seu ambiente do Azure Time Series Insights com a nova chave, abra o recurso de hub no portal do Azure e copie a nova chave. Acesse o recurso do Azure Time Series Insights e selecione Origens do Evento:

Selecionar Origens do Evento

Selecione a origem ou origens do evento nas quais a ingestão foi interrompida, cole a nova chave e selecione Salvar:

Colar a nova chave

Problema: a configuração do nome da propriedade do carimbo de data/hora da origem do evento não funciona

Verifique se o valor da propriedade do carimbo de data/hora que é obtido da origem do evento como uma cadeia de caracteres JSON está no formato aaaa-MM-ddTHH:mm:ss.FFFFFFFK. Veja o seguinte exemplo: 2008-04-12T12:53Z.

Lembre-se de que o nome da propriedade do carimbo de data/hora 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 gerenciador do Azure Time Series Insights. No gerenciador do Azure Time Series Insights, usando o gráfico, selecione um período após a inserção do nome da propriedade do carimbo de data/hora. Clique com o botão direito do mouse na seleção e clique em Explorar eventos.

O cabeçalho da primeira coluna deve ser o nome da propriedade de carimbo de data/hora. Ao lado do texto Carimbo de data/hora, ($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 datetime.
  • # : indica que o Azure Time Series Insights está lendo os valores de dados como inteiros.

Próximas etapas