Monitorar Azure Cosmos DB

Este artigo descreve:

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

Note

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 Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. Azure Monitor fornece uma visão de disponibilidade, desempenho e resiliência e notifica você sobre 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.

Insights

Alguns serviços no Azure têm um painel de monitoramento integrado no portal do Azure que fornece um ponto de partida para monitorar seu serviço. Esses painéis são chamados de insights e você pode encontrá-los no Hub de Insights do Azure Monitor no portal do Azure.

Insights do Azure Cosmos DB

Os insights do Azure Cosmos DB são um recurso baseado no recurso de pastas de trabalho do Azure Monitor. Use os insights do Azure Cosmos DB para ter ver o desempenho geral, falhas, capacidade e integridade operacional de todos os seus recursos do Azure Cosmos DB em uma experiência interativa unificada.

Para obter mais informações sobre os insights do Azure Cosmos DB, consulte os seguintes artigos:

Tipos de recursos

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 Azure Cosmos DB, consulte a Referência de dados de monitoramento do Azure Cosmos DB.

Armazenamento de dados

Para 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. Log Analytics é uma ferramenta no portal 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 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étricas e logs para outros locais de armazenamento fora do Azure Monitor. Exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros não-Azure, usando os Hubs de Eventos.

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

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.
  • Armazenado no banco de dados de métricas de séries temporais 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 de plataforma para o Azure Monitor Logs/Log Analytics, permitindo que sejam consultadas junto com outros dados de log. Verifique a configuração DS export para cada métrica e veja se é possível usar uma configuração de diagnóstico para rotear a métrica para o Azure Monitor Logs/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.

O Azure Monitor coleta as métricas do Azure Cosmos DB por padrão. Você não precisa configurar explicitamente nada. A maioria das métricas está disponível na página do portal do Azure Cosmos DB ou na página do Azure Monitor. Por padrão, essas métricas são coletadas com granularidade de um minuto. A granularidade pode variar com base na métrica escolhida. Para obter mais informações sobre o período de retenção padrão, consulte Retenção de métricas do Azure Monitor

As métricas do lado do servidor do Azure Cosmos DB incluem taxa de transferência, armazenamento, disponibilidade, latência, consistência e métricas de nível de sistema. No lado do cliente, você pode coletar os detalhes de cobrança de solicitação, a ID da atividade, as informações de exceção e rastreamento de pilha, o código de status e substatus HTTP e a cadeia de caracteres de diagnóstico. Por padrão, essas métricas têm um período de retenção de sete dias. Você pode usar esses dados para depurar problemas ou se precisar entrar em contato com a equipe de suporte do Azure Cosmos DB.

Os valores de dimensão para as métricas, como o nome do contêiner, não diferenciam maiúsculas de minúsculas. Essa situação pode resultar em confusão ou colisão de telemetria e ações em contêineres com esses nomes. Use a comparação de maiúsculas e minúsculas ao fazer comparações de cadeias de caracteres nesses valores de dimensão.

Para obter uma lista das métricas disponíveis para o Azure Cosmos DB, consulte a Referência de dados de monitoramento do Azure Cosmos DB.

Métricas não baseadas no Azure Monitor

Esse serviço fornece outras métricas que não estão incluídas no banco de dados de métricas do Azure Monitor.

Registros de recursos do Azure Monitor

Os logs de recursos fornecem informações sobre as operações que foram feitas por um recurso de 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 logs 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 encaminhe 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 as configurações de diagnóstico, incluindo pelo portal do Azure, programaticamente e através da Azure Policy.

Roteamento: O padrão sugerido é rotear os logs de recursos para os Logs do Azure Monitor para que você possa consultá-los com outros dados de log. Outros locais, como 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, confira Logs de recursos do Azure e Destinos de logs de recursos.

Para obter informações detalhadas sobre como coletar, armazenar e rotear logs de recursos, consulte as 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 é descrito no esquema de registro de recursos do Azure Monitor.

Você pode monitorar os logs de diagnóstico de sua conta do Azure Cosmos DB e criar painéis do Azure Monitor. Os dados como eventos e rastreamentos que ocorrem em uma segunda granularidade são armazenados como logs. Por exemplo, se a taxa de transferência de um contêiner for alterada, as propriedades de uma conta do Azure Cosmos DB são alteradas. Os logs capturam esses eventos. Você pode analisar esses logs ao executar consultas nos dados coletados.

Para as categorias de log de recursos disponíveis, suas tabelas associadas do Log Analytics e os esquemas de log do Azure Cosmos DB, consulte a referência de dados de monitoramento do Azure Cosmos DB.

Log de atividades do Azure

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

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

Routing: Você pode enviar dados de log de atividades para Azure Monitor Logs para poder analisá-los junto com outros dados de log. Outros locais, como 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.

Auditar as ações de restauração para o modo de backup contínuo

Usando os logs de atividades, você pode listar todas as restaurações pontuais para o modo contínuo que foram executadas em uma conta do Azure Cosmos DB. Para saber como ver essas operações no portal do Azure, confira Auditar a ação de restauração pontual para o modo de backup contínuo.

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:

  • Dashboards que permitem combinar diferentes tipos de dados em um único painel no portal Azure.
  • Workbooks, relatórios personalizáveis que você pode criar no portal Azure. As planilhas 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á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 em 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 dá suporte a expressões de filtros para refinar os dados recuperados. Para obter mais informações, consulte a referência da API REST do Azure Monitor.

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

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

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

Analisar métricas do Azure Cosmos DB

Você pode usar o Metrics Explorer do Azure Monitor para analisar as métricas do Azure Cosmos DB com métricas de outros serviços do Azure selecionando Métricas em Monitoramento na navegação do portal da conta do Azure Cosmos DB. Para obter mais informações sobre como usar o Metrics Explorer, consulte Analisar métricas com o Metrics Explorer do Azure Monitor.

Você também pode monitorar a latência do lado do servidor, o uso da unidade de solicitação e o uso da unidade de solicitação normalizado para seus recursos do Azure Cosmos DB. Você pode selecionar métricas específicas para unidades de solicitação, armazenamento, latência, disponibilidade, Cassandra e outros.

No lado do cliente, você pode depurar problemas coletando métricas de cobrança de solicitação, a ID da atividade, as informações de exceção e rastreamento de pilha, o código de status e substatus HTTP e a cadeia de caracteres de diagnóstico.

Para obter mais informações e instruções detalhadas, consulte os seguintes artigos:

Para obter uma lista de todas as métricas de recursos com suporte no Azure Monitor, consulte Métricas do Azure Monitor com suporte. Para obter uma lista das métricas de plataforma coletadas para o Azure Cosmos DB, veja Monitoramento das métricas de referência de dados do Azure Cosmos DB.

Monitorar o Azure Cosmos DB de forma programática

As métricas no nível da conta disponíveis no portal, como o uso de armazenamento da conta e o total de solicitações, não estão disponíveis por meio da API para NoSQL. No entanto, você pode recuperar os dados de uso no nível da coleção usando a API para NoSQL. Para recuperar os dados de nível de coleta, use uma das abordagens a seguir:

Para acessar mais métricas, use o SDK do Azure Monitor. As definições de métrica disponíveis podem ser recuperadas usando este formato:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01

Para recuperar métricas individuais, use o seguinte formato:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01

Para saber mais, veja API REST de monitoramento do Azure.

Analisar logs do Azure Cosmos DB

Os dados nos Logs do Azure Monitor são armazenados em tabelas. Cada tabela tem seu próprio conjunto de propriedades exclusivas. Todos os logs de recursos no Azure Monitor têm os mesmos campos seguidos por campos específicos do serviço. O esquema comum é descrito no esquema de registro de recursos do Azure Monitor.

Para obter os tipos de logs de recursos coletados para o Azure Cosmos DB, veja Referência de dados de monitoramento do Azure Cosmos DB.

Para obter mais informações sobre como trabalhar com logs do Azure Monitor para o Azure Cosmos DB, consulte os seguintes artigos:

Consultas Kusto

Você pode analisar dados de monitoramento no repositório Azure Monitor Logs/Log Analytics usando a 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 de consulta de log e intervalo de tempo no Azure Monitor Log Analytics para mais detalhes.

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

Antes de usar o Log Analytics para emitir consultas Kusto, você deve habilitar logs de diagnóstico para operações de plano de controle. Ao habilitar os logs de diagnóstico, você seleciona entre armazenar seus dados em tabelas específicas do recurso ou na única tabela AzureDiagnostics (herdada). O texto exato das consultas Kusto depende do modo de coleta selecionado.

Aqui estão algumas consultas que você pode inserir na barra de pesquisa Pesquisa de logs para ajudar no monitoramento dos recursos do Azure Cosmos DB.

Para consultar todos os logs do plano de controle do Azure Cosmos DB:

CDBControlPlaneRequests

Para consultar todos os logs do plano de dados do Azure Cosmos DB:

CDBDataPlaneRequests

Para consultar uma lista filtrada de logs de plano de dados, específica para um único recurso:

CDBDataPlaneRequests
| where AccountName=="<account-name>"

Para obter uma contagem de logs de plano de dados, agrupados por recurso:

CDBDataPlaneRequests
| summarize count() by AccountName

Para gerar um gráfico de logs de plano de dados, agrupado pelo tipo de operação:

CDBDataPlaneRequests
| summarize count() by OperationName
| render piechart

Para consultas Kusto que você pode usar para solucionar problemas com o Azure Cosmos DB, consulte os seguintes artigos:

Esses exemplos são apenas uma pequena amostragem das consultas avançadas que você pode executar no Azure Monitor usando a KQL (Linguagem de Consulta Kusto). Para obter mais exemplos, consulte os exemplos de consultas Kusto.

Alerts

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 obter mais informações, consulte Azure Monitor alerts.

Existem muitas fontes de alertas comuns para os recursos do Azure. Para obter exemplos de alertas comuns para recursos de Azure, consulte Sample log alert queries. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semi-automatizado de implementação de alertas, dashboards e diretrizes de métricas de plataforma importantes. 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 comum de alertas padroniza o consumo de notificações de alerta do Azure Monitor. 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étrica 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 de métrica também podem aplicar várias condições e limites dinâmicos.
  • Log alerts permitem que os usuários usem uma consulta do Log Analytics para avaliar os logs de recursos em uma frequência predefinida.
  • Os alertas do log de atividades são disparados quando ocorre um novo evento de log de atividades que corresponde às condições definidas. Alertas de Integridade de Recursos e Alertas de Integridade de Serviço são alertas de log de atividades que relatam a saúde do seu serviço e dos seus recursos.

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 nuvens do Azure com suporte, confira Monitorar vários recursos com uma única regra de alerta.

Regras de alerta do Azure Cosmos DB

A tabela a seguir lista algumas regras de alerta comuns e recomendadas para o Azure Cosmos DB.

Tipo de alerta Condição Description
Limitação de taxa em unidades de solicitação (alerta de métrica) Nome da dimensão: StatusCode, Operador: igual a, Valores de dimensão: 429 Alerta se o contêiner ou um banco de dados exceder o limite de taxa de transferência provisionado.
Região com failover Operador: maior que, Tipo de agregação: contagem, Valor do limite: 1 Quando uma única região faz failover. Este alerta será útil se você não tiver habilitado o failover gerenciado por serviço.
Rotação de chaves (alerta do log de atividades) Nível do evento: informativo, Status: iniciado Alerta quando as chaves de conta são giradas. Você pode atualizar o aplicativo com as novas chaves.

Para obter mais informações e instruções sobre como criar alertas para o Azure Cosmos DB, consulte Criar alerta sobre métricas. Para criar um alerta para monitorar se o armazenamento de uma chave de partição lógica está se aproximando de 20 GB, consulte Criar alerta para o tamanho da chave de partição lógica.

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 consultor é exibida.

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