Monitorizar Azure Cosmos DB

Este artigo descreve:

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

Observação

Se já conhece este serviço e/ou Azure Monitor e só quer saber como analisar dados de monitorização, consulte a secção Analyze 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 recolhe e agrega métricas e registos de todos os componentes do seu sistema. O Azure Monitor fornece-lhe uma visão da disponibilidade, desempenho e resiliência, e notifica-o de 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.

Insights

Alguns serviços no Azure têm um painel de monitorização integrado no portal Azure que fornece um ponto de partida para monitorizar o 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.

Análises do Azure Cosmos DB

O Azure Cosmos DB insights é um recurso baseado no recurso de pastas de trabalho do Azure Monitor. Use as informações do Azure Cosmos DB para obter uma exibição do 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 insights do Azure Cosmos DB, consulte os seguintes artigos:

Tipos de recursos

O Azure utiliza o conceito de tipos de recursos e IDs para identificar tudo numa subscrição. 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 dados principais de monitorização em métricas e registos com base nos tipos de recursos, também chamados 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 Azure Cosmos DB, consulte 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. O Log Analytics é uma ferramenta no portal do Azure que pode interrogar este repositório.
  • 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 definições de diagnóstico para enviar dados de métricas e registos para outros locais de armazenamento fora do Azure Monitor. Exemplos incluem Armazenamento do Azure, sistemas parceiros alojados e sistemas parceiros não-Azure, utilizando o Event Hubs.

Para informações detalhadas sobre como Azure Monitor armazena dados, consulte Azure Monitor data platform.

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.

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

Routing: Também podes encaminhar algumas métricas da plataforma para Azure Monitor Logs / Log Analytics para poderes consultá-las com outros dados de log. Verifique a configuração DS export para cada métrica para verificar se é possível usar uma configuração de diagnóstico para encaminhar a métrica para o 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.

O Azure Monitor coleta métricas do Azure Cosmos DB por padrão. Você não precisa configurar nada explicitamente. A maioria das métricas está disponível na página do portal do Azure Cosmos DB ou na página Azure Monitor. Por padrão, as métricas são coletadas com granularidade de um minuto. A granularidade pode variar de acordo com a 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 no nível do sistema. No lado do cliente, pode recolher detalhes relativos à cobrança de solicitações, ID de atividade, informações de exceção e rastreamento de stack, código de status HTTP e código de sub-status HTTP, e cadeia 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 nome do contêiner, não diferenciam maiúsculas de minúsculas. Esta situação pode resultar em confusão ou colisão de telemetria e ações em recipientes com tais nomes. Use a comparação sem distinção entre maiúsculas e minúsculas ao fazer comparações de cadeia de caracteres nesses valores de dimensão.

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

Métricas não baseadas no Azure Monitor

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

Registos de recursos do Azure Monitor

Os registos de recursos fornecem informações sobre operações realizadas por um recurso Azure. Os registos são gerados automaticamente, mas deve encaminhá-los para os registos do Azure Monitor para os guardar ou consultar. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de log de recursos.

Coleção: Os registos de recursos não são recolhidos e armazenados até que o utilizador crie uma configuração de diagnóstico e encaminhe os registos para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs devem ser coletadas. 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 os Logs do Azure Monitor para que você possa consultá-los com outros dados de log. Outras localizações, como Armazenamento do Azure, Hubs de Eventos do Azure e certos parceiros de monitorização da Microsoft, também estão disponíveis. Para mais informações, consulte Registos de recursos do Azure e Destinos dos registos de recursos.

Para informações detalhadas sobre recolha, armazenamento e encaminhamento de registos de recursos, consulte Definições de diagnóstico no Azure Monitor.

Para uma lista de todas as categorias de registos de recursos disponíveis no Azure Monitor, consulte Registos de recursos suportados no Azure Monitor.

Todos os registos 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 log de recursos do Azure Monitor.

Você pode monitorar logs de diagnóstico de sua conta do Azure Cosmos DB e criar painéis do Azure Monitor. 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 serão alteradas. Os logs capturam esses eventos. Você pode analisar esses logs executando consultas nos dados coletados.

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

Log de atividades do Azure

O registo de atividades contém eventos ao nível de subscrição que acompanham as operações de cada recurso Azure vistas de fora desse recurso; por exemplo, criar um novo recurso ou iniciar uma máquina virtual.

Collection: Os eventos do registo de atividade são automaticamente gerados e recolhidos num armazenamento separado para serem visualizados no portal do Azure.

Routing: Pode enviar dados de registo de atividade para o Azure Monitor Logs, para os analisar em conjunto com outros dados de registo. Outras localizações, como Armazenamento do Azure, Hubs de Eventos do Azure e certos parceiros de monitorização 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 ações de restauração para o modo de backup contínuo

Ao utilizar logs de atividade, pode-se listar todas as restaurações point-in-time efetuadas para o modo contínuo numa conta do Azure Cosmos DB. Para saber como exibir estas operações no portal do Azure, consulte Auditar a ação de restauração de ponto no tempo no modo de backup contínuo.

Analise os dados de monitoramento

Existem muitas ferramentas para analisar dados de monitoramento.

Ferramentas do Azure Monitor

O Azure Monitor suporta as seguintes ferramentas básicas:

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

  • Dashboards que permitem combinar diferentes tipos de dados num único painel no portal Azure.
  • Livros de Exercícios, relatórios personalizáveis que podes criar no portal Azure. Os livros de trabalho podem incluir texto, métricas e consultas de registo.
  • 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 através de 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:

Para começar com a API REST do Azure Monitor, consulte Guia de Introdução à API REST do Azure Monitor.

Analisar métricas do Azure Cosmos DB

Você pode usar o Azure Monitor Metrics Explorer para analisar 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 explorador de métricas, consulte Analisar métricas com o explorador de métricas do Azure Monitor.

Você pode monitorizar a latência do lado do servidor, o uso de unidades de solicitação e o uso de unidades de solicitação normalizadas para os 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, é possível depurar problemas coletando métricas para carga de solicitação, ID de atividade, informações sobre exceções e rastreamento de pilha, código de status e substatus HTTP e 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 suportadas no Azure Monitor, consulte Métricas do Azure Monitor suportadas. Para obter uma lista das métricas de plataforma coletadas para o Azure Cosmos DB, consulte Monitorando métricas de referência de dados do Azure Cosmos DB.

Monitorar o Azure Cosmos DB programaticamente

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

Para acessar mais métricas, use o SDK do Azure Monitor. As definições de métricas 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, consulte Azure monitoring REST API.

Analisar logs de 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 registos de recursos no Azure Monitor têm os mesmos campos seguidos de campos específicos do serviço. O esquema comum é descrito no esquema de log de recursos do Azure Monitor.

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

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

Consultas de 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 de Azure, selecione Logs no menu Azure Monitor. Consulte o âmbito e intervalo de tempo da consulta Log em Azure Monitor Log Analytics para mais detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, consulte 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 logs de diagnóstico, você seleciona entre armazenar seus dados em tabelas específicas de recursos ou na única tabela AzureDiagnostics (legada). 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 de log para ajudá-lo a monitorar seus recursos do Azure Cosmos DB.

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

CDBControlPlaneRequests

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

CDBDataPlaneRequests

Para consultar uma lista filtrada de registos do plano de dados, específicos de um único recurso:

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

Para obter uma contagem dos registos do plano de dados, agrupados por recurso:

CDBDataPlaneRequests
| summarize count() by AccountName

Para gerar um gráfico para logs de plano de dados, agrupados 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 amostra das consultas avançadas que você pode executar no Azure Monitor usando a KQL (Kusto Query Language). Para obter mais exemplos, consulte exemplos de consultas Kusto.

Alerts

Os alertas do Azure Monitor notificam-no proativamente quando são encontradas condições específicas nos seus dados de monitorização. 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.

Existem muitas fontes de alertas comuns para recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, consulte Exemplos de consultas de alerta de log. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semi-automatizado para implementar alertas importantes de métricas da plataforma, dashboards e diretrizes. 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

É possível configurar alertas para qualquer métrica ou fonte de dados de log na plataforma 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 mais informações, consulte Escolha o tipo de alerta de monitorização 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.
  • Alertas de Log permitem aos utilizadores usar uma consulta de Log Analytics para avaliar registos de recursos com uma frequência predefinida.
  • Alertas do registo de atividade ativam-se quando ocorre um novo evento do registo de atividade que corresponde a condições definidas. Os alertas de saúde dos recursos e os alertas de saúde dos serviços são alertas de registo de atividade que reportam a saúde do seu serviço e dos seus recursos.

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 da Azure e nuvens suportadas, consulte Monitorizar múltiplos 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 Condition Description
Limitação de taxa em unidades de solicitação (alerta métrico) Nome da dimensão: StatusCode, Operador: Igual, Valores da dimensão: 429 Alerta se o contêiner ou um banco de dados exceder o limite de taxa de transferência provisionada.
Região com falha Operador: Maior que, Tipo de agregação: Contagem, Valor limite: 1 Quando ocorreu um failover numa única região. Esse alerta será útil se você não tiver habilitado o failover gerenciado pelo serviço.
Girar teclas (alerta de registro de atividades) Nível do evento: Informativo, Estado: iniciado Alerta quando as chaves da conta são alternadas. Você pode atualizar seu 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 em 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 sobre o tamanho da chave de partição lógica.

Recomendações do conselheiro

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 sob Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do consultor é exibida.

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

  • Consulte Referência de dados de monitoramento do Azure Cosmos DB para obter uma referência das métricas, logs e outros valores importantes criados para o Azure Cosmos DB.
  • Consulte Monitorando recursos do Azure com o Azure Monitor para obter detalhes gerais sobre o monitoramento de recursos do Azure.