Compartilhar via


Monitorar o Hub IoT do Azure

Este artigo descreve:

  • Os tipos de dados de monitoramento que você pode coletar para esse serviço.
  • Maneiras de analisar esses dados.

Observação

Se já estiver familiarizado com esse serviço e/ou com o Azure Monitor e apenas quiser saber como analisar os dados de monitoramento, confira a seção Analisar ao final deste artigo.

Quando seus aplicativos e processos de negócios críticos dependem de recursos do Azure, você precisa monitorar e receber alertas para o seu sistema. O serviço do Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. O Azure Monitor lhe fornece uma exibição da disponibilidade, desempenho e resiliência e notifica você em caso de problemas. Você pode usar o portal do Azure, o PowerShell, a CLI do Azure, a API REST ou as bibliotecas de cliente para configurar e exibir dados de monitoramento.

Monitorar desconexões por dispositivo com a Grade de Eventos

O Azure Monitor fornece uma métrica chamada Dispositivos conectados, que você pode usar para monitorar o número de dispositivos conectados ao seu Hub IoT. Essa métrica dispara um alerta quando o número de dispositivos conectados fica abaixo de um valor limite. O Azure Monitor também emite eventos na categoria conexões que você pode usar para monitorar a conexão, desconexão e erros conexões do dispositivo. Embora esses eventos possa ser suficiente em alguns cenários, a Grade de Eventos do Azure fornece uma solução de monitoramento de baixa latência por dispositivo que você pode usar para rastrear conexões de dispositivo de dispositivos e infraestruturas críticos.

Com a Grade de Eventos, você pode assinar os eventos DeviceConnected e DeviceDisconnected do Hub IoT a fim de disparar alertas e monitorar o estado da conexão do dispositivo. A Grade de Eventos fornece uma latência de eventos muito menor do que a do Azure Monitor. Portanto, você pode monitorar por dispositivo em vez de por todos os dispositivos conectados. Esses fatores tornam a Grade de Eventos o método preferencial para monitorar conexões de dispositivos e infraestruturas críticos. Recomendamos bastante usar a Grade de Eventos para monitorar as conexões de dispositivos em ambientes de produção.

Para obter mais informações sobre como monitorar a conectividade de dispositivo com a Grade de Eventos e o Azure Monitor, confira Monitorar, diagnosticar e solucionar problemas de conectividade do dispositivo com o Hub IoT do Azure.

Tipos de recurso

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recurso também fazem parte das IDs de recursos para cada recurso em execução no Azure. Por exemplo, um tipo de recurso para uma máquina virtual é Microsoft.Compute/virtualMachines. Para obter uma lista de serviços e os tipos de recursos associados a eles, confira Provedores de recursos.

O Azure Monitor organiza os principais dados de monitoramento de maneira similar em métricas e logs com base em tipos de recursos, também chamados de namespaces. Métricas e logs diferentes estão disponíveis para diferentes tipos de recursos. Seu serviço pode estar associado a mais de um tipo de recurso.

Para obter mais informações sobre os tipos de recursos do Hub IoT, consulte Referência de dados de monitoramento do Hub IoT do Azure.

Armazenamento de dados

Para o Azure Monitor:

  • Os dados de métricas são armazenados no banco de dados de métricas do Azure Monitor.
  • Os dados de log são armazenados no repositório de logs do Azure Monitor. O Log Analytics é uma ferramenta no portal do Azure que pode consultar esse repositório.
  • O log de atividades do Azure é um repositório separado com uma interface própria no portal do Azure.

Opcionalmente, você pode rotear dados de log de métricas e atividades para o armazenamento de logs do Azure Monitor. Em seguida, você pode usar o Log Analytics para consultar os dados e correlacioná-los com outros dados de log.

Muitos serviços podem usar configurações de diagnóstico para enviar dados de métricas e logs para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros não Azure, usando Hubs de Eventos.

Para obter informações detalhadas sobre como o Azure Monitor armazena dados, confira Plataforma de dados do Azure Monitor.

Coleta e roteamento

As métricas da plataforma, o log de atividades e os logs de recursos têm especificações exclusivas de coleta, armazenamento e roteamento.

No portal do Azure do seu hub IoT, em Monitoramento, você pode selecionar Configurações de diagnóstico, seguido de Adicionar configuração de diagnóstico para criar configurações de diagnóstico com escopo de logs e métricas de plataforma emitidos pelo Hub IoT.

Captura de tela mostrando como adicionar uma configuração de diagnóstico no hub IoT no portal do Azure.

A captura de tela a seguir mostra uma configuração de diagnóstico para encaminhar as Operações de Conexão do tipo de log de recursos e todas as métricas de plataforma para um workspace do Log Analytics.

Captura de tela do formulário Configurações de Diagnóstico para monitorar um hub IoT.

Ao encaminhar métricas da plataforma Hub IoT para outros locais:

  • Essas métricas de plataforma não são exportáveis usando as configurações de diagnóstico: dispositivos conectados e dispositivos Totais.

  • As métricas multidimensionais, por exemplo, algumas métricas de roteamento, são atualmente exportadas como métricas unidimensionais niveladas agregadas entre valores de dimensão. Para obter mais informações, confira Exportando métricas de plataforma para outros locais.

Métricas de plataforma do Azure Monitor

O Azure Monitor fornece métricas de plataforma para a maioria dos serviços. Essas métricas são:

  • Definidas individualmente para cada namespace.
  • Armazenadas no banco de dados de métricas da série temporal do Azure Monitor.
  • Leves e capazes de dar suporte a alertas quase em tempo real.
  • Usadas para acompanhar o desempenho de um recurso ao longo do tempo.

Coleta: O Azure Monitor coleta as métricas da plataforma automaticamente. Nenhuma configuração é necessária.

Roteamento: Você também pode rotear algumas métricas da plataforma para Logs do Azure Monitor / Log Analytics para que você possa consultá-las com outros dados de log. Verifique a configuração de exportação de DS para cada métrica para ver se você pode usar uma configuração de diagnóstico para rotear a métrica para Logs do Azure Monitor / Log Analytics.

Para obter uma lista de todas as métricas que é possível coletar para todos os recursos no Azure Monitor, confira Métricas com suporte no Azure Monitor.

Visão geral do Monitor

A página de visão geral no portal do Azure para cada Hub IoT inclui gráficos que fornecem algumas métricas de uso, como o número de mensagens usadas e o número de dispositivos conectados ao Hub IoT.

Gráficos de métricas padrão na página de visão geral do Hub IoT.

Um valor correto de contagem de mensagens pode ser atrasado em um minuto. Devido à infraestrutura de serviço do Hub IoT, às vezes, o valor pode oscilar entre valores mais altos e mais baixos na atualização. Esse contador só deve estar incorreto em relação a valores acumulados no último minuto.

As informações apresentadas no painel Visão geral são úteis, mas representam apenas uma pequena quantidade de dados de monitoramento disponíveis para um Hub IoT. Alguns desses dados de monitoramento são coletados automaticamente e ficam disponíveis para análise assim que você cria seu Hub IoT. Você pode habilitar outros tipos de coleta de dados com algumas configurações.

Importante

Não há garantia de que os eventos emitidos pelo serviço Hub IoT usando logs de recursos do Azure Monitor sejam confiáveis ou estejam ordenados. Alguns eventos podem ser perdidos ou entregues fora de ordem. Os logs de recursos não se destinam a ser em tempo real. Portanto, pode levar vários minutos para que os eventos sejam registrados na sua opção de destino.

Logs de recursos do Azure Monitor

Os logs de recursos fornecem insights sobre as operações que foram executadas por um recurso do Azure. Os logs são gerados automaticamente, mas você precisa encaminhá-los para os logs do Azure Monitor para serem salvos ou consultados. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de logs de recursos.

Coleta: Os logs de recursos não serão coletados nem armazenados enquanto você não criar uma configuração de diagnóstico e encaminhar os logs para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio do Azure Policy.

Encaminhamento: O padrão sugerido é encaminhar os logs de recursos para os logs do Azure Monitor para que você possa consultá-los com outros dados de logs. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações, confira Logs de recursos do Azure e Destinos de logs de recursos.

Para obter informações detalhadas sobre como coletar, armazenar e encaminhar logs de recursos, confira Configurações de diagnóstico no Azure Monitor.

Para obter uma lista de todas as categorias de logs de recursos disponíveis no Azure Monitor, confira Logs de recursos com suporte no Azure Monitor.

Todos os logs de recursos no Azure Monitor têm os mesmos campos de cabeçalho, seguidos de campos específicos do serviço. O esquema comum está descrito em Esquema do log de recursos do Azure Monitor.

Encaminhar eventos de conexão para logs

O Hub IoT emite continuamente logs de recursos para várias categorias de operações. No entanto, para coletar esses dados de log, você precisará criar uma configuração de diagnóstico a fim de encaminhá-lo para um destino no qual ele possa ser analisado ou arquivado. Um desses destinos é os Logs do Azure Monitor por meio de um workspace do Log Analytics (confira preços), onde você pode analisar os dados usando consultas Kusto.

A categoria de conexões de logs de recursos do Hub IoT emite operações e erros que tenham a ver com conexões de dispositivo. A captura de tela abaixo mostra uma configuração de diagnóstico para encaminhar esses logs para um workspace do Log Analytics:

Configuração recomendada para enviar logs de conectividade ao workspace do Log Analytics.

Recomendamos criar uma configuração de diagnóstico o mais cedo possível depois de criar o Hub IoT porque, embora o Hub IoT sempre emita logs de recursos, o Azure Monitor não os coleta até que você os encaminhe para um destino.

Para saber mais sobre como encaminhar logs para um destino, confira Coleta e roteamento. Para obter instruções detalhadas sobre como criar uma configuração de diagnóstico, confira o tutorial Usar métricas e logs.

Log de atividades do Azure

O log de atividades contém eventos de nível de assinatura que acompanham as operações de cada recurso do Azure, conforme visto fora desse recurso, por exemplo, criar um recurso ou iniciar uma máquina virtual.

Coleta: Os eventos do log de Atividades são gerados e coletados automaticamente em um repositório separado para serem vistos no portal do Azure.

Roteamento: você pode enviar dados de log de atividades para os logs do Azure Monitor para analisá-los junto com outros dados de log. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações sobre como encaminhar o log de atividades, confira Visão geral do log de atividades do Azure.

Análise de logs

Os dados em Logs do Azure Monitor são armazenados em tabelas em que cada tabela tem o próprio conjunto de propriedades exclusivas. Os dados nessas tabelas são associados a um workspace do Log Analytics e podem ser consultados no Log Analytics. Para saber mais sobre Logs do Azure Monitor, confira Visão geral dos Logs do Azure Monitor na documentação do Azure Monitor.

Para encaminhar dados para os Logs do Azure Monitor, você precisa criar uma configuração de diagnóstico a fim de enviar logs de recursos ou métricas de plataforma para um workspace do Log Analytics. Para saber mais, confira Coleta e roteamento.

Para executar o Log Analytics, acesse o portal do Azure e abra o hub IoT e selecione Logs em Monitoramento. Por padrão, o escopo dessas consultas do Log Analytics inclui os logs e as métricas coletados nos logs do Azure Monitor para o hub IoT.

Página Logs de um hub IoT.

Ao encaminhar métricas da plataforma Hub IoT para os Logs do Azure Monitor:

  • As seguintes métricas de plataforma não são exportáveis usando configurações de diagnóstico: dispositivos conectados e dispositivos Totais.

  • As métricas multidimensionais, por exemplo, algumas métricas de roteamento, são atualmente exportadas como métricas unidimensionais niveladas agregadas entre valores de dimensão. Para obter mais detalhes, confira Exportando métricas de plataforma para outros locais.

Para ver as consultas comuns com o Hub IoT, confira exemplos de consultas do Kusto. Para obter mais informações sobre como usar as consultas do Log Analytics, confira Visão geral das consultas de logs no Azure Monitor.

Versão do SDK nos logs do Hub IoT

Algumas operações retornam uma propriedade sdkVersion em seu objeto properties nos logs de recursos do Hub IoT. Em relação a essas operações, quando um dispositivo ou aplicativo de back-end estiver usando um dos SDKs do Azure IoT, essa propriedade conterá informações sobre o SDK que está sendo usado, a versão do SDK e a plataforma na qual o SDK está em execução.

Os exemplos a seguir mostram a propriedade sdkVersion emitida para uma operação deviceConnect usando:

  • O SDK de dispositivo do Node.js: "azure-iot-device/1.17.1 (node v10.16.0; Windows_NT 10.0.18363; x64)"
  • O SDK do .NET (C#): ".NET/1.21.2 (.NET Framework 4.8.4200.0; Microsoft Windows 10.0.17763 WindowsProduct:0x00000004; X86)".

A tabela abaixo mostra o nome do SDK usado para SDKs do Azure IoT diferentes:

Nome do SDK na propriedade sdkVersion Idioma
.NET .NET (C#)
microsoft.azure.devices SDK de serviço do .NET (C#)
microsoft.azure.devices.client SDK de dispositivo do .NET (C#)
iothubclient SDK de dispositivo C ou Python V1 (preterido)
iothubserviceclient SDK de serviço C ou Python V1 (preterido)
azure-iot-device-iothub-py SDK de dispositivo Python
azure-iot-device SDK de dispositivo Node.js
azure-iothub SDK de serviço Node.js
com.microsoft.azure.iothub-java-client SDK de dispositivo Java
com.microsoft.azure.iothub.service.sdk SDK de serviço Java
com.microsoft.azure.sdk.iot.iot-device-client SDK de dispositivo Java
com.microsoft.azure.sdk.iot.iot-service-client SDK de serviço Java
C C inserido
C + (OSSimplified = Eclipse ThreadX) Eclipse ThreadX

Você pode extrair a propriedade de versão do SDK quando executa consultas em logs de recursos do Hub IoT. Por exemplo, a consulta a seguir extrai a propriedade de versão do SDK (e a ID do dispositivo) das propriedades retornadas pelas operações de conexões. Essas duas propriedades são gravadas nos resultados junto com a hora da operação e a ID do recurso do Hub IoT ao qual o dispositivo está conectado.

// SDK version of devices
// List of devices and their SDK versions that connect to IoT Hub
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections"
| extend parsed_json = parse_json(properties_s) 
| extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
| distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId

Ler logs de Hubs de Eventos do Azure

Depois de configurar o log de eventos por meio das configurações de diagnóstico, é possível criar aplicativos que leem logs de forma que você possa tomar uma ação com base nas informações neles. O seguinte código de exemplo recupera os logs de um hub de eventos.

class Program
{ 
    static string connectionString = "{your AMS eventhub endpoint connection string}";
    static string monitoringEndpointName = "{your AMS event hub endpoint name}";
    static EventHubClient eventHubClient;
    //This is the Diagnostic Settings schema
    class AzureMonitorDiagnosticLog
    {
        string time { get; set; }
        string resourceId { get; set; }
        string operationName { get; set; }
        string category { get; set; }
        string level { get; set; }
        string resultType { get; set; }
        string resultDescription { get; set; }
        string durationMs { get; set; }
        string callerIpAddress { get; set; }
        string correlationId { get; set; }
        string identity { get; set; }
        string location { get; set; }
        Dictionary<string, string> properties { get; set; }
    };

    static void Main(string[] args)
    {
        Console.WriteLine("Monitoring. Press Enter key to exit.\n");
        eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, monitoringEndpointName);
        var d2cPartitions = eventHubClient.GetRuntimeInformationAsync().PartitionIds;
        CancellationTokenSource cts = new CancellationTokenSource();
        var tasks = new List<Task>();
        foreach (string partition in d2cPartitions)
        {
            tasks.Add(ReceiveMessagesFromDeviceAsync(partition, cts.Token));
        }
        Console.ReadLine();
        Console.WriteLine("Exiting...");
        cts.Cancel();
        Task.WaitAll(tasks.ToArray());
    }

    private static async Task ReceiveMessagesFromDeviceAsync(string partition, CancellationToken ct)
    {
        var eventHubReceiver = eventHubClient.GetDefaultConsumerGroup().CreateReceiver(partition, DateTime.UtcNow);
        while (true)
        {
            if (ct.IsCancellationRequested)
            {
                await eventHubReceiver.CloseAsync();
                break;
            }
            EventData eventData = await eventHubReceiver.ReceiveAsync(new TimeSpan(0,0,10));
            if (eventData != null)
            {
                string data = Encoding.UTF8.GetString(eventData.GetBytes());
                Console.WriteLine("Message received. Partition: {0} Data: '{1}'", partition, data);
                var deserializer = new JavaScriptSerializer();
                //deserialize json data to azure monitor object
                AzureMonitorDiagnosticLog message = new JavaScriptSerializer().Deserialize<AzureMonitorDiagnosticLog>(result);
            }
        }
    }
}

Para obter as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log para o Hub IoT, consulte Referência de dados de monitoramento do Hub IoT do Azure.

Analisar dados de monitoramento

Existem várias ferramentas para analisar os dados de monitoramento.

Ferramentas do Azure Monitor

O Azure Monitor dá suporte às seguintes ferramentas básicas:

As ferramentas que permitem uma visualização mais complexa incluem:

  • Painéis, que permitem que você combine diferentes tipos de dados em um único painel no portal do Azure.
  • Pastas de Trabalho, relatórios personalizáveis que você pode criar no portal do Azure. As pastas de trabalho podem incluir texto, métricas e consultas de log.
  • Grafana, uma ferramenta de plataforma aberta que oferece excelência em termos de painéis operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes além do Azure Monitor.
  • Power BI, um serviço de análises corporativas que fornece visualizações interativas nas diversas fontes de dados. Você pode configurar o Power BI para importar dados de log automaticamente do Azure Monitor a fim de aproveitar essas visualizações.

Ferramentas de exportação do Azure Monitor

Você pode obter dados do Azure Monitor em outras ferramentas usando os seguintes métodos:

Para começar a usar a API REST do Azure Monitor, confira o Passo a passo da API REST de monitoramento do Azure.

Consultas do Kusto

Analise os dados de monitoramento nos logs do Azure Monitor/no repositório do Log Analytics usando o KQL (Linguagem de Consulta Kusto).

Importante

Quando você seleciona Logs no menu do serviço no portal, o Log Analytics é aberto com o escopo da consulta definido para o serviço atual. Esse escopo significa que as consultas de log incluirão apenas dados desse tipo de recurso. Se você quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu do Azure Monitor. Confira Escopo da consulta de log e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, confira a Interface de consultas do Log Analytics.

Use as consultas Kusto a seguir para ajudar a monitorar o hub IoT.

  • Erros de conectividade: identifique erros de conexão do dispositivo.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" and Level == "Error"
    
  • Erros de limitação: identifique os dispositivos que fizeram mais solicitações resultando em erros de limitação.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where ResultType == "429001"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | summarize count() by DeviceId, Category, _ResourceId
    | order by count_ desc
    
  • Pontos de extremidade inativos: identifique pontos de extremidade inativos ou não íntegros pelo número de vezes que o problema foi relatado e descubra o motivo.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Routes" and OperationName in ("endpointDead", "endpointUnhealthy")
    | extend parsed_json = parse_json(properties_s)
    | extend Endpoint = tostring(parsed_json.endpointName), Reason = tostring(parsed_json.details) 
    | summarize count() by Endpoint, OperationName, Reason, _ResourceId
    | order by count_ desc
    
  • Resumo do erro: contagem de erros em todas as operações por tipo.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Level == "Error"
    | summarize count() by ResultType, ResultDescription, Category, _ResourceId
    
  • Dispositivos conectados recentemente: lista de dispositivos que o Hub IoT viu serem conectados no período de tempo especificado.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" and OperationName == "deviceConnect"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | summarize max(TimeGenerated) by DeviceId, _ResourceId
    
  • Eventos de conexão para um dispositivo específico: todos os eventos de conexão registrados para um dispositivo específico (test-device).

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections"
    | extend DeviceId = tostring(parse_json(properties_s).deviceId)
    | where DeviceId == "test-device"
    
  • Versão do SDK dos dispositivos: lista de dispositivos e suas versões do SDK para conexões de dispositivo ou operações de gêmeo digital de dispositivo para nuvem.

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections" or Category == "D2CTwinOperations"
    | extend parsed_json = parse_json(properties_s)
    | extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
    | distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId
    

Alertas

Os alertas do Azure Monitor o notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem que você identifique e resolva problemas no seu sistema antes que os clientes os percebam. Para saber mais, confira Alertas do Azure Monitor.

Existem muitas fontes de alertas comuns para os recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, confira Amostra de consultas de alerta de logs. O site Alertas de Linha de Base do Azure Monitor (AMBA) fornece um método semiautomatizado de implementação de alertas, painéis e diretrizes importantes de métrica de plataforma. O site se aplica a um subconjunto de serviços do Azure em contínua expansão, incluindo todos os serviços que fazem parte da Zona de Destino do Azure (ALZ).

O esquema de alerta comum padroniza a consumo do Azure Monitor para notificações de alerta no Azure. Para obter mais informações, confira Esquema de alertas comuns.

Tipos de alertas

Você pode receber alertas sobre qualquer fonte de dados de log ou métrica na plataforma de dados do Azure Monitor. Existem muitos tipos diferentes de alertas dependendo dos serviços que você está monitorando e dos dados de monitoramento que você está coletando. Diferentes tipos de alertas têm diversos benefícios e desvantagens. Para obter mais informações, confira Escolha o tipo de alerta de monitoramento correto para você.

A lista a seguir descreve os tipos de alertas do Azure Monitor que você pode criar:

  • Os Alertas de métricas avaliam as métricas de recursos a intervalos regulares. As métricas podem ser métricas de plataforma, métricas personalizadas, logs do Azure Monitor convertidos em métricas ou métricas do Application Insights. Os alertas de métrica também podem aplicar várias condições e limites dinâmicos.
  • Os Alertas de logs permitem que os usuários usem uma consulta do Log Analytics para avaliar os logs de recursos com uma frequência predefinida.
  • Os Alertas do log de atividades são disparados quando ocorre um novo evento de log de atividades que corresponda às condições definidas. Os alertas do Resource Health e da Integridade do Serviço são alertas do log de atividades que relatam a integridade do serviço e do recurso.

Alguns serviços do Azure também dão suporte a alertas de detecção inteligentes, alertas do Prometheus ou regras de alerta recomendadas.

No caso de alguns serviços, você pode monitorar em larga escala aplicando a mesma regra de alerta de métricas a vários recursos do mesmo tipo que existem na mesma região do Azure. Notificações individuais são enviadas para cada recurso monitorado. Para ver os serviços e as nuvens do Azure com suporte, confira Monitorar vários recursos com uma regra de alerta.

Regras de alerta do Hub IoT

Você pode definir alertas para qualquer métrica, entrada de log ou entrada de log de atividades listada na Referência de dados de monitoramento do Hub IoT.

Configurar alertas de métrica para desconexões de dispositivo

Você pode configurar alertas com base nas métricas de plataforma emitidas pelo Hub IoT. Com os alertas de métricas, você pode notificar as pessoas de que uma condição de interesse ocorreu e também disparar ações que podem responder a essa condição automaticamente.

A métrica Dispositivos conectados (versão prévia) informa quantos dispositivos estão conectados ao Hub IoT. Se essa métrica cair abaixo de um valor limite, um alerta pode ser disparado:

Configurações de lógica de alerta para métrica de dispositivos conectados.

Você pode usar as regras de alerta de métrica para monitorar anomalias de desconexão de dispositivo em escala. Ou seja, use alertas para determinar quando um número significativo de dispositivos é desconectado inesperadamente. Quando esta situação é detectada, você pode examinar os logs como ajuda para solucionar o problema. No entanto, para monitorar desconexões por dispositivo e desconexões de dispositivos críticos quase em tempo real, você precisa usar a Grade de Eventos.

Para saber mais sobre alertas com o Hub IoT, confira Alertas no monitoramento do Hub IoT. Para obter um passo a passo de criação de alertas no Hub IoT, confira o tutorial Usar métricas e logs. Para obter uma visão geral mais detalhada dos alertas, confira Visão geral dos alertas no Microsoft Azure na documentação sobre o Azure Monitor.

Recomendações do Assistente

Para alguns serviços, se ocorrerem condições críticas ou alterações iminentes durante operações de recurso, um alerta será exibido na página de Visão geral do serviço no portal. Você pode encontrar mais informações e correções recomendadas para o alerta nas Recomendações do assistente em Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do assistente será exibida.

Para obter mais informações sobre o Assistente do Azure, confira Visão geral do Assistente do Azure.