Monitore os Gêmeos Digitais do Azure com métricas, alertas e diagnósticos

Os Gêmeos Digitais do Azure integram-se ao Azure Monitor para fornecer métricas e informações de diagnóstico que você pode usar para monitorar seus recursos dos Gêmeos Digitais do Azure. As métricas são habilitadas por padrão e fornecem informações sobre o estado dos recursos do Azure Digital Twins em sua assinatura do Azure. Os alertas podem notificá-lo proativamente quando determinadas condições forem encontradas em seus dados de métricas. Você também pode coletar logs de diagnóstico para sua instância de serviço para monitorar seu desempenho, acesso e outros dados.

Esses recursos de monitoramento podem ajudá-lo a avaliar a integridade geral do serviço Gêmeos Digitais do Azure e os recursos conectados a ele. Você pode usá-los para entender o que está acontecendo em sua instância do Azure Digital Twins e analisar as causas raiz dos problemas sem precisar entrar em contato com o suporte do Azure.

Eles podem ser acessados no portal do Azure, agrupados sob o título Monitoramento do recurso Gêmeos Digitais do Azure.

Screenshot of the Azure portal showing the Monitoring options.

Métricas e alertas

Para obter informações gerais sobre como exibir métricas de recursos do Azure, consulte Introdução ao explorador de métricas na documentação do Azure Monitor. Para obter informações gerais sobre como configurar alertas para métricas do Azure, consulte Criar uma nova regra de alerta.

O restante desta seção descreve as métricas controladas por cada instância do Azure Digital Twins e como cada métrica se relaciona com o status geral da sua instância.

Métricas para acompanhar os limites de serviço

Você pode configurar essas métricas para acompanhar quando estiver se aproximando de um limite de serviço publicado para algum aspeto da sua solução.

Para configurar o acompanhamento, use o recurso de alertas no Azure Monitor. Você pode definir limites para essas métricas para receber um alerta quando uma métrica atingir uma determinada porcentagem de seu limite publicado.

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
TwinCount Contagem de gêmeos (visualização) Count Total Número total de gêmeos na instância do Azure Digital Twins. Use essa métrica para determinar se você está se aproximando do limite de serviço para o número máximo de gêmeos permitidos por instância. None
ModelCount Contagem de modelos (Pré-visualização) Count Total Número total de modelos na instância do Azure Digital Twins. Use essa métrica para determinar se você está se aproximando do limite de serviço para o número máximo de modelos permitidos por instância. None

Métricas de solicitação de API

Métricas que têm a ver com solicitações de API:

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
ApiRequests Pedidos da API Count Total O número de solicitações de API feitas para operações de leitura, gravação, exclusão e consulta de gêmeos digitais. Autenticação,
Funcionamento,
Protocolo,
Código de status,
Classe de código de status,
Texto de status
ApiRequestsFailureRate Taxa de falha de solicitações de API Percentagem Média A porcentagem de solicitações de API que o serviço recebe para sua instância que fornece um código de resposta de erro interno (500) para operações de leitura, gravação, exclusão e consulta do Digital Twins. Autenticação,
Funcionamento,
Protocolo,
Código de status,
Classe de código de status,
Texto de status
ApiRequestsLatency Latência de solicitações de API Milissegundos Média O tempo de resposta para solicitações de API. Esse valor refere-se ao tempo desde quando a solicitação é recebida pelos Gêmeos Digitais do Azure até que o serviço envie um resultado de sucesso/falha para operações de leitura, gravação, exclusão e consulta de Gêmeos Digitais. Autenticação,
Funcionamento,
Protocolo

Métricas de faturamento

Métricas que têm a ver com faturamento:

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
BillingApiOperations Operações de API de faturamento Count Total Métrica de cobrança para a contagem de todas as solicitações de API feitas no serviço Gêmeos Digitais do Azure. ID do Medidor
FaturaçãoMensagensProcessadas Mensagens de Faturação Processadas Count Total Métrica de cobrança para o número de mensagens enviadas dos Gêmeos Digitais do Azure para pontos de extremidade externos.

Para ser considerada uma única mensagem para efeitos de faturação, uma carga útil não deve ser superior a 1 KB. Cargas maiores que esse limite serão contadas como mensagens adicionais em incrementos de 1 KB (portanto, uma mensagem entre 1 KB e 2 KB será contada como 2 mensagens, entre 2 KB e 3 KB serão 3 mensagens e assim por diante).
Essa restrição também se aplica às respostas, portanto, uma chamada que retorna 1,5 KB no corpo da resposta, por exemplo, será cobrada como 2 operações.
ID do Medidor
BillingQueryUnits Unidades de consulta de faturamento Count Total O número de Unidades de Consulta, uma medida calculada internamente do uso de recursos de serviço, consumida para executar consultas. Há também uma API auxiliar disponível para medir unidades de consulta: QueryChargeHelper Class ID do Medidor

Para obter mais informações sobre a forma como os Gêmeos Digitais do Azure são cobrados, consulte Preços dos Gêmeos Digitais do Azure.

Métricas de ingresso

Métricas que têm a ver com a entrada de dados:

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
IngressEvents Eventos de Entrada Count Total O número de eventos de telemetria de dispositivo de entrada nos Gêmeos Digitais do Azure. Result
IngressEventsFailureRate Taxa de falha de eventos de ingresso Percentagem Média A porcentagem de eventos de telemetria de dispositivo de entrada para os quais o serviço retorna um código de resposta de erro interno (500). Result
IngressEventsLatency Latência de eventos de ingresso Milissegundos Média O momento desde que um evento chega até quando ele está pronto para ser enviado pelos Gêmeos Digitais do Azure, momento em que o serviço envia um resultado de sucesso/falha. Result

Métricas de operação em massa (das APIs de trabalhos)

Métricas que têm a ver com operações em massa das APIs de trabalhos:

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
ImportJobLatency Importar latência de trabalho Milissegundos Média Tempo total necessário para a conclusão de um trabalho de importação. Funcionamento,
Autenticação,
Protocolo
ImportJobEntityCount Importar contagem de entidades de trabalho Count Total O número de gêmeos, modelos ou relacionamentos processados por um trabalho de importação. Funcionamento,
Result
DeleteJobLatency Excluir latência de trabalho Milissegundos Média Tempo total necessário para a conclusão de um trabalho de exclusão. Funcionamento,
Autenticação,
Protocolo
DeleteJobEntityCount Excluir contagem de entidades de trabalho Count Total O número de modelos, gêmeos e/ou relacionamentos excluídos como parte de um trabalho de exclusão. Funcionamento,
Result

Métricas de roteamento

Métricas que têm a ver com roteamento:

Metric Nome de exibição da métrica Unidade Tipo de agregação Description Dimensões
MensagensRouted Mensagens encaminhadas Count Total O número de mensagens roteadas para um serviço do Azure de ponto de extremidade, como Hubs de Eventos, Barramento de Serviço ou Grade de Eventos. Tipo de ponto final,
Result
RoutingFailureRate Taxa de falha de roteamento Percentagem Média A percentagem de eventos que resultam num erro à medida que são encaminhados dos Gêmeos Digitais do Azure para um serviço do Azure de ponto de extremidade, como Hubs de Eventos, Barramento de Serviço ou Grelha de Eventos. Tipo de ponto final,
Result
RoutingLatency Latência de roteamento Milissegundos Média Tempo decorrido entre um evento ser roteado dos Gêmeos Digitais do Azure até quando ele é postado no serviço do Azure de ponto de extremidade, como Hubs de Eventos, Barramento de Serviço ou Grade de Eventos. Tipo de ponto final,
Result

Dimensões métricas

As dimensões ajudam a identificar mais detalhes sobre as métricas. Algumas das métricas de roteamento fornecem informações por ponto de extremidade. A tabela abaixo lista os valores possíveis para essas dimensões.

Dimensão Valores
Autenticação OAuth
Operação (para solicitações de API) Microsoft.DigitalTwins/digitaltwins/excluir,
Microsoft.DigitalTwins/digitaltwins/gravação,
Microsoft.DigitalTwins/digitaltwins/ler,
Microsoft.DigitalTwins/eventroutes/read,
Microsoft.DigitalTwins/eventroutes/write,
Microsoft.DigitalTwins/eventroutes/delete,
Microsoft.DigitalTwins/modelos/leitura,
Microsoft.DigitalTwins/modelos/gravação,
Microsoft.DigitalTwins/modelos/excluir,
Microsoft.DigitalTwins/consulta/ação
Tipo de Ponto Final Grade de eventos,
Hubs de Eventos,
Service Bus
Protocolo HTTPS
Result Sucesso,
Falha
Código de Estado 200, 404, 500 e assim por diante.
Classe de código de status 2xx, 4xx, 5xx e assim por diante.
Texto de status Erro interno do servidor, não encontrado e assim por diante.

Registos de diagnósticos

Para obter informações gerais sobre as configurações de diagnóstico do Azure, incluindo como habilitá-las, consulte Configurações de diagnóstico no Azure Monitor. Para obter informações sobre como consultar logs de diagnóstico usando o Log Analytics, consulte Visão geral do Log Analytics no Azure Monitor.

O restante desta seção descreve as categorias de log de diagnóstico que os Gêmeos Digitais do Azure podem coletar e seus esquemas.

Categorias de registo

Aqui estão mais detalhes sobre as categorias de logs que o Azure Digital Twins coleta.

Categoria do registo Description
ADTModelsOperation Registrar todas as chamadas de API relacionadas a modelos
ADTQueryOperation Registrar todas as chamadas de API relacionadas a Consultas
ADTEventRoutesOperation Registre todas as chamadas de API relacionadas a Rotas de Eventos e saída de eventos dos Gêmeos Digitais do Azure para um serviço de ponto de extremidade, como Grade de Eventos, Hubs de Eventos e Service Bus
ADTDigitalTwinsOperação Registrar todas as chamadas de API relacionadas a gêmeos individuais

Cada categoria de log consiste em operações de gravação, leitura, exclusão e ação. Essas categorias são mapeadas para chamadas de API REST da seguinte maneira:

Tipo de evento Operações da API REST
Escrita COLOCAR e REMENDAR
Lida GET
Delete DELETE
Ação POST

Aqui está uma lista abrangente das operações e chamadas correspondentes da API REST do Azure Digital Twins que são registradas em cada categoria.

Nota

Cada categoria de log contém várias operações/chamadas de API REST. Na tabela abaixo, cada categoria de log é mapeada para todas as operações/chamadas de API REST abaixo dela até que a próxima categoria de log seja listada.

Categoria do registo Operação Chamadas à API REST e outros eventos
ADTModelsOperation Microsoft.DigitalTwins/modelos/gravação API de atualização de modelos de gêmeos digitais
Microsoft.DigitalTwins/modelos/leitura Modelos de gêmeos digitais obter por ID e listar APIs
Microsoft.DigitalTwins/modelos/excluir Modelos de gêmeos digitais Excluir API
Microsoft.DigitalTwins/modelos/ação Modelos de gêmeos digitais Adicionar API
ADTQueryOperation Microsoft.DigitalTwins/consulta/ação API de gêmeos de consulta
ADTEventRoutesOperation Microsoft.DigitalTwins/eventroutes/write Rotas de eventos Adicionar API
Microsoft.DigitalTwins/eventroutes/read Rotas de eventos Obter por ID e Listar APIs
Microsoft.DigitalTwins/eventroutes/delete API de exclusão de rotas de eventos
Microsoft.DigitalTwins/eventroutes/action Falha ao tentar publicar eventos em um serviço de ponto de extremidade (não uma chamada de API)
ADTDigitalTwinsOperação Microsoft.DigitalTwins/digitaltwins/escrever Digital Twins Adicionar, Adicionar Relacionamento, Atualizar, Atualizar Componente
Microsoft.DigitalTwins/digitaltwins/leitura Gêmeos Digitais Obter por ID, Obter Componente, Obter Relacionamento por ID, Listar Relações de Entrada, Listar Relações
Microsoft.DigitalTwins/digitaltwins/excluir Gêmeos digitais excluem, excluem relacionamento
Microsoft.DigitalTwins/digitaltwins/ação Gêmeos Digitais Enviar Telemetria de Componentes, Enviar Telemetria

Esquemas de log

Cada categoria de log tem um esquema que define como os eventos nessa categoria são relatados. Cada entrada de registo individual é armazenada como texto e formatada como um blob JSON. Os campos no log e exemplos de corpos JSON são fornecidos para cada tipo de log abaixo.

ADTDigitalTwinsOperation, ADTModelsOperatione ADTQueryOperation use um esquema de log de API consistente. ADTEventRoutesOperation Estende o esquema para conter um endpointName campo em Propriedades.

Esquemas de log da API

Este esquema de log é consistente para ADTDigitalTwinsOperation, , ADTQueryOperationADTModelsOperation. O mesmo esquema também é usado para , exceto o nome da Microsoft.DigitalTwins/eventroutes/action operação (para ADTEventRoutesOperationobter mais informações sobre esse esquema, consulte a próxima seção, Esquemas de log de saída).

O esquema contém informações pertinentes às chamadas de API para uma instância do Azure Digital Twins.

Aqui estão as descrições de campo e propriedade para logs de API.

Nome do campo Tipo de dados Description
Time DateTime A data e hora em que este evento ocorreu, em UTC
ResourceId String A ID de Recurso do Azure Resource Manager para o recurso onde o evento ocorreu
OperationName String O tipo de ação que está sendo executada durante o evento
OperationVersion String A versão da API usada durante o evento
Category String O tipo de recurso que está sendo emitido
ResultType String Resultado do evento
ResultSignature String Código de status Http para o evento
ResultDescription String Detalhes adicionais sobre o evento
DurationMs String Quanto tempo demorou a realizar o evento em milissegundos
CallerIpAddress String Um endereço IP de origem mascarado para o evento
CorrelationId GUID Identificador exclusivo do evento
ApplicationId GUID ID do aplicativo usado na autorização do portador
Level Int A gravidade do registro em log do evento
Location String A região onde o evento ocorreu
RequestUri URI O ponto de extremidade usado durante o evento
TraceId String TraceId, como parte do Trace Context do W3C. A ID de todo o rastreamento usado para identificar exclusivamente um rastreamento distribuído entre sistemas.
SpanId String SpanIdcomo parte do Trace Context do W3C. A ID dessa solicitação no rastreamento.
ParentId String ParentIdcomo parte do Trace Context do W3C. Uma solicitação sem um ID pai é a raiz do rastreamento.
TraceFlags String TraceFlagscomo parte do Trace Context do W3C. Controla sinalizadores de rastreamento, como amostragem, nível de rastreamento e assim por diante.
TraceState String TraceStatecomo parte do Trace Context do W3C. Informações adicionais de identificação de rastreamento específicas do fornecedor para abranger diferentes sistemas de rastreamento distribuídos.

Abaixo estão exemplos de corpos JSON para esses tipos de logs.

ADTDigitalTwinsOperação
{
  "time": "2020-03-14T21:11:14.9918922Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/digitaltwins/write",
  "operationVersion": "2020-10-31",
  "category": "DigitalTwinOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": 8,
  "callerIpAddress": "13.68.244.*",
  "correlationId": "2f6a8e64-94aa-492a-bc31-16b9f0b16ab3",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/digitaltwins/factory-58d81613-2e54-4faa-a930-d980e6e2a884?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTModelsOperation
{
  "time": "2020-10-29T21:12:24.2337302Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/models/write",
  "operationVersion": "2020-10-31",
  "category": "ModelsOperation",
  "resultType": "Success",
  "resultSignature": "201",
  "resultDescription": "",
  "durationMs": "80",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "9dcb71ea-bb6f-46f2-ab70-78b80db76882",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/Models?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTQueryOperation
{
  "time": "2020-12-04T21:11:44.1690031Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/query/action",
  "operationVersion": "2020-10-31",
  "category": "QueryOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": "314",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "1ee2b6e9-3af4-4873-8c7c-1a698b9ac334",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/query?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTEventRoutesOperation

Aqui está um exemplo de corpo JSON para um ADTEventRoutesOperation que não é do tipo (para obter mais informações sobre esse esquema, consulte a próxima seção, Esquemas de log de Microsoft.DigitalTwins/eventroutes/action saída).

  {
    "time": "2020-10-30T22:18:38.0708705Z",
    "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
    "operationName": "Microsoft.DigitalTwins/eventroutes/write",
    "operationVersion": "2020-10-31",
    "category": "EventRoutesOperation",
    "resultType": "Success",
    "resultSignature": "204",
    "resultDescription": "",
    "durationMs": 42,
    "callerIpAddress": "212.100.32.*",
    "correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
    "identity": {
      "claims": {
        "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
      }
    },
    "level": "4",
    "location": "southcentralus",
    "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/EventRoutes/egressRouteForEventHub?api-version=2020-10-31",
    "properties": {},
    "traceContext": {
      "traceId": "95ff77cfb300b04f80d83e64d13831e7",
      "spanId": "b630da57026dd046",
      "parentId": "9f0de6dadae85945",
      "traceFlags": "01",
      "tracestate": "k1=v1,k2=v2"
    }
  },

Esquemas de log de saída

O exemplo a seguir é o esquema para ADTEventRoutesOperation logs específicos para o nome da Microsoft.DigitalTwins/eventroutes/action operação. Eles contêm detalhes relacionados a exceções e as operações de API em torno de pontos de extremidade de saída conectados a uma instância do Azure Digital Twins.

Nome do campo Tipo de dados Description
Time DateTime A data e hora em que este evento ocorreu, em UTC
ResourceId String A ID de Recurso do Azure Resource Manager para o recurso onde o evento ocorreu
OperationName String O tipo de ação que está sendo executada durante o evento
Category String O tipo de recurso que está sendo emitido
ResultDescription String Detalhes adicionais sobre o evento
CorrelationId GUID O cliente forneceu um identificador exclusivo para o evento
ApplicationId GUID ID do aplicativo usado na autorização do portador
Level Int A gravidade do registro em log do evento
Location String A região onde o evento ocorreu
TraceId String TraceId, como parte do Trace Context do W3C. A ID de todo o rastreamento usado para identificar exclusivamente um rastreamento distribuído entre sistemas.
SpanId String SpanIdcomo parte do Trace Context do W3C. A ID dessa solicitação no rastreamento.
ParentId String ParentIdcomo parte do Trace Context do W3C. Uma solicitação sem um ID pai é a raiz do rastreamento.
TraceFlags String TraceFlagscomo parte do Trace Context do W3C. Controla sinalizadores de rastreamento, como amostragem, nível de rastreamento e assim por diante.
TraceState String TraceStatecomo parte do Trace Context do W3C. Informações adicionais de identificação de rastreamento específicas do fornecedor para abranger diferentes sistemas de rastreamento distribuídos.
EndpointName String O nome do ponto de extremidade de saída criado nos Gêmeos Digitais do Azure

Aqui está um exemplo de Microsoft.DigitalTwins/eventroutes/action corpo JSON para um ADTEventRoutesOperation do tipo.

{
  "time": "2020-11-05T22:18:38.0708705Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/eventroutes/action",
  "operationVersion": "",
  "category": "EventRoutesOperation",
  "resultType": "",
  "resultSignature": "",
  "resultDescription": "Unable to send EventHub message to [myPath] for event Id [f6f45831-55d0-408b-8366-058e81ca6089].",
  "durationMs": -1,
  "callerIpAddress": "",
  "correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "",
  "properties": {
    "endpointName": "myEventHub"
  },
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
},

Próximos passos

Leia mais sobre o Azure Monitor e seus recursos na documentação do Azure Monitor.