Monitorar o Hub IoT do Azure

Este artigo descreve:

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

Nota

Se já estiver familiarizado com este serviço e/ou Azure Monitor e quiser apenas saber como analisar dados de monitorização, consulte a secção Analisar perto do final deste artigo.

Quando você tem aplicativos críticos e processos de negócios que dependem de recursos do Azure, você precisa monitorar e receber alertas para seu sistema. O serviço Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. O Azure Monitor fornece uma exibição de disponibilidade, desempenho e resiliência e notifica você sobre problemas. Você pode usar o portal do Azure, PowerShell, CLI do Azure, API REST ou 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 cai abaixo de um valor limite. O Azure Monitor também emite eventos na categoria de conexões que você pode usar para monitorar conexões, desconexões e erros de conexão do dispositivo. Embora esses eventos possam ser suficientes para alguns cenários, a Grade de Eventos do Azure fornece uma solução de monitoramento por dispositivo de baixa latência que você pode usar para rastrear conexões de dispositivo para dispositivos e infraestrutura críticos.

Com a Grade de Eventos, você pode assinar os eventos DeviceConnected e DeviceDisconnected do Hub IoT para 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 o Azure Monitor, para que você possa monitorar por dispositivo, em vez de para todos os dispositivos conectados. Esses fatores tornam a Grade de Eventos o método preferido para monitorar conexões para dispositivos e infraestrutura críticos. É altamente recomendável usar a Grade de Eventos para monitorar conexões de dispositivos em ambientes de produção.

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

Tipos de recursos

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recursos 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 seus tipos de recursos associados, consulte Provedores de recursos.

O Azure Monitor organiza de forma semelhante os principais dados de monitoramento em métricas e logs com base em tipos de recursos, também chamados de namespaces. Diferentes métricas e logs 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 para o 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 este armazenamento.
  • O log de atividades do Azure é um repositório separado com sua própria interface no portal do Azure.

Opcionalmente, você pode rotear dados de métricas e logs de atividades para o repositório 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étrica e log para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros que não são do Azure, usando Hubs de Eventos.

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

Recolha e encaminhamento

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 a partir do seu hub IoT em Monitoramento, você pode selecionar Configurações de diagnóstico seguidas de Adicionar configuração de diagnóstico para criar configurações de diagnóstico com escopo para os logs e métricas de plataforma emitidos pelo seu hub IoT.

Captura de ecrã a mostrar como adicionar uma definição de diagnóstico no seu hub IoT no portal do Azure.

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

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

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

  • Essas métricas da plataforma não podem ser exportadas usando as configurações de diagnóstico: dispositivos conectados e Dispositivos totais.

  • Métricas multidimensionais, por exemplo, algumas métricas de roteamento, são atualmente exportadas como métricas unidimensionais achatadas agregadas em valores de dimensão. Para obter mais informações, consulte Exportando métricas da plataforma para outros locais.

Métricas da plataforma Azure Monitor

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

  • Definido individualmente para cada namespace.
  • Armazenado no banco de dados de métricas de séries cronológicas do Azure Monitor.
  • Leve e capaz de suportar alertas quase em tempo real.
  • Usado para acompanhar o desempenho de um recurso ao longo do tempo.

Coleção: o Azure Monitor coleta métricas da plataforma automaticamente. Não é necessária qualquer configuração.

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

Para obter uma lista de todas as métricas que é possível reunir para todos os recursos no Azure Monitor, consulte Métricas suportadas no Azure Monitor.

Descrição geral do Monitor

A página 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 Visão geral do hub IoT.

Um valor correto de contagem de mensagens pode ser atrasado em 1 minuto. Devido à infraestrutura de serviço do Hub IoT, o valor às vezes pode saltar entre valores mais altos e mais baixos na atualização. Este contador deve estar incorreto apenas para 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 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 alguma configuração.

Importante

Não é garantido que os eventos emitidos pelo serviço Hub IoT usando os logs de recursos do Azure Monitor sejam confiáveis ou ordenados. Alguns eventos podem ser perdidos ou entregues fora de ordem. Os logs de recursos não devem ser em tempo real, portanto, pode levar vários minutos para que os eventos sejam registrados no destino escolhido.

Logs de recursos do Azure Monitor

Os logs de recursos fornecem informações sobre operações que foram feitas por um recurso do Azure. Os logs são gerados automaticamente, mas você deve roteá-los para os logs do Azure Monitor para salvá-los ou consultá-los. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de log de recursos.

Coleção: os logs de recursos não são coletados e armazenados até que você crie uma configuração de diagnóstico e roteie os logs para um ou mais locais. Ao criar uma definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio da Política do Azure.

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

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

Para obter uma lista de todas as categorias de log de recursos disponíveis no Azure Monitor, consulte 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 por campos específicos do serviço. O esquema comum é descrito no esquema de log de recursos do Azure Monitor.

Rotear eventos de conexão para logs

O hub IoT emite continuamente logs de recursos para várias categorias de operações. Para coletar esses dados de log, no entanto, você precisa criar uma configuração de diagnóstico para roteá-los para um destino onde possam ser analisados ou arquivados. Um desses destinos é o Azure Monitor Logs por meio de um espaço de trabalho do Log Analytics (consulte 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 relacionados a conexões de dispositivo. A captura de tela a seguir mostra uma configuração de diagnóstico para rotear esses logs para um espaço de trabalho do Log Analytics:

Configuração recomendada para enviar logs de conectividade para o espaço de trabalho do Log Analytics.

Recomendamos criar uma configuração de diagnóstico o mais cedo possível depois de criar seu 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 rotear logs para um destino, consulte Coleta e roteamento. Para obter instruções detalhadas sobre como criar uma configuração de diagnóstico, consulte o tutorial Usar métricas e logs.

Registo de atividades do Azure

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

Coleção: os eventos do log de atividades são gerados e coletados automaticamente em um repositório separado para exibição 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. Outros locais, como o Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft também estão disponíveis. Para obter mais informações sobre como rotear o log de atividades, consulte Visão geral do log de atividades do Azure.

Analisar os registos

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

Para rotear dados para os Logs do Azure Monitor, você deve criar uma configuração de diagnóstico para enviar logs de recursos ou métricas da plataforma para um espaço de trabalho do Log Analytics. Para saber mais, consulte Coleção e roteamento.

Para executar o Log Analytics, vá para o portal do Azure e abra seu hub IoT e, em seguida, selecione Logs em Monitoramento. Essas consultas do Log Analytics têm como escopo, por padrão, os logs e métricas coletados nos Logs do Azure Monitor para seu hub IoT.

Página de logs para um hub IoT.

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

  • As métricas da plataforma a seguir não podem ser exportadas usando as configurações de diagnóstico: Dispositivos conectados e Total de dispositivos.

  • Métricas multidimensionais, por exemplo, algumas métricas de roteamento, são atualmente exportadas como métricas unidimensionais achatadas agregadas em valores de dimensão. Para obter mais detalhes, consulte Exportando métricas da plataforma para outros locais.

Para consultas comuns com o Hub IoT, consulte Exemplos de consultas Kusto. Para obter mais informações sobre como usar consultas do Log Analytics, consulte Visão geral das consultas de log no Azure Monitor.

Versão do SDK nos logs do Hub IoT

Algumas operações retornam uma sdkVersion propriedade em seu properties objeto para os logs de recursos do Hub IoT. Para essas operações, quando um dispositivo ou aplicativo de back-end está usando um dos SDKs do Azure IoT, essa propriedade contém informações sobre o SDK que está sendo usado, a versão do SDK e a plataforma na qual o SDK está sendo executado.

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

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

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

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

Você pode extrair a propriedade de versão do SDK ao executar 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 Connections. Essas duas propriedades são gravadas nos resultados, juntamente com a hora da operação e o ID do recurso do hub IoT ao qual o dispositivo está se conectando.

// 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, você pode criar aplicativos que leem os logs para que você possa agir com base nas informações neles contidas. O código de exemplo a seguir recupera 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.

Analise os dados de monitoramento

Existem muitas ferramentas para analisar dados de monitoramento.

Ferramentas do Azure Monitor

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

  • Explorador de métricas, uma ferramenta no portal do Azure que permite exibir e analisar métricas para recursos do Azure. Para obter mais informações, consulte Analisar métricas com o explorador de métricas do Azure Monitor.

  • Log Analytics, uma ferramenta no portal do Azure que permite consultar e analisar dados de log usando a linguagem de consulta Kusto (KQL). Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.

  • O log de atividades, que tem uma interface de usuário no portal do Azure para exibição e pesquisas básicas. Para fazer uma análise mais aprofundada, você precisa rotear os dados para os logs do Azure Monitor e executar consultas mais complexas no Log Analytics.

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

  • Painéis que permitem combinar 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 se destaca em dashboards operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes diferentes do Azure Monitor.
  • Power BI, um serviço de análise de negócios que fornece visualizações interativas em várias fontes de dados. Você pode configurar o Power BI para importar automaticamente dados de log do Azure Monitor para aproveitar essas visualizações.

Ferramentas de exportação do Azure Monitor

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

  • Métricas: use a API REST para métricas para extrair dados de métricas do banco de dados de métricas do Azure Monitor. A API suporta expressões de filtro para refinar os dados recuperados. Para obter mais informações, consulte Referência da API REST do Azure Monitor.

  • Logs: use a API REST ou as bibliotecas de cliente associadas.

  • Outra opção é a exportação de dados do espaço de trabalho.

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

Consultas do Kusto

Você pode analisar dados de monitoramento no repositório Azure Monitor Logs / Log Analytics usando a linguagem de consulta Kusto (KQL).

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 quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu Azure Monitor . Consulte Escopo e intervalo de tempo da consulta de log no Azure Monitor Log Analytics para obter detalhes.

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

Use as seguintes consultas Kusto para ajudá-lo a monitorar seu 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 mortos: identifique pontos de extremidade mortos ou não íntegros pelo número de vezes que o problema foi relatado e saiba 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 se conectar 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 (dispositivo de teste).

    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 SDK de dispositivos: Lista de dispositivos e suas versões SDK para conexões de dispositivo ou operações de dispositivo para gêmeo na 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 notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes os percebam. Para obter mais informações, consulte Alertas do Azure Monitor.

Há muitas fontes de alertas comuns para recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, consulte Consultas de alerta de log de exemplo. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semiautomatizado de implementação de alertas métricos de plataforma, painéis e diretrizes importantes. O site aplica-se a um subconjunto em contínua expansão dos serviços do Azure, incluindo todos os serviços que fazem parte da Zona de Aterragem do Azure (ALZ).

O esquema de alerta comum padroniza o consumo de notificações de alerta do Azure Monitor. Para obter mais informações, consulte Esquema de alerta comum.

Tipos de alertas

Você pode alertar sobre qualquer fonte de dados de métrica ou log na plataforma de dados do Azure Monitor. Há 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 vários benefícios e desvantagens. Para obter mais informações, consulte Escolher o tipo de alerta de monitoramento correto.

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

  • Os alertas métricos avaliam as métricas de recursos em 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 métricos também podem aplicar várias condições e limites dinâmicos.
  • Os alertas de log permitem que os usuários usem uma consulta do Log Analytics para avaliar logs de recursos em uma frequência predefinida.
  • Os alertas do log de atividades são acionados quando ocorre um novo evento do log de atividades que corresponde às condições definidas. Os alertas de Integridade do Recurso e os alertas de Integridade do Serviço são alertas de log de atividades que relatam a integridade do serviço e do recurso.

Alguns serviços do Azure também suportam alertas de deteção inteligente, alertas Prometheus ou regras de alerta recomendadas.

Para alguns serviços, você pode monitorar em escala aplicando a mesma regra de alerta de métrica 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 serviços e nuvens do Azure com suporte, consulte 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 registro de atividades listada na referência de dados de monitoramento do Hub IoT.

Configurar alertas de métricas para desconexões de dispositivos

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

A métrica Dispositivos conectados (visualização) informa quantos dispositivos estão conectados ao seu Hub IoT. Se essa métrica cair abaixo de um valor limite, um alerta poderá disparar:

Configurações lógicas de alerta para métricas de dispositivos conectados.

Você pode usar regras de alerta métrico para monitorar anomalias de desconexão do dispositivo em escala. Ou seja, use alertas para determinar quando um número significativo de dispositivos se desconecta inesperadamente. Quando essa situação é detetada, você pode examinar os logs para ajudar a solucionar o problema. No entanto, para monitorar desconexões e desconexões por dispositivo para dispositivos críticos quase em tempo real, você deve usar a Grade de Eventos.

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

Recomendações do assistente

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

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