Monitore dados do Azure Cosmos DB usando configurações de diagnóstico no Azure

APLICA-SE AO: NoSQL MongoDB Cassandra Gremlin Table

As configurações de diagnóstico no Azure são usadas para coletar logs de recursos. Os recursos emitem logs dos recursos do Azure e fornecem dados avançados e frequentes sobre a operação desse recurso. Esses logs são capturados por solicitação e também são chamados de "logs de plano de dados." Entre alguns exemplos de operações do plano de dados estão excluir, inserir e readFeed. O conteúdo desses logs varia de acordo com o tipo de recurso.

As métricas de plataforma e o log de atividades são coletados automaticamente, porém, você precisa criar uma configuração de diagnóstico para coletar logs de recursos ou encaminhá-los para fora do Azure Monitor. Você pode ativar a configuração de diagnóstico para as contas do Azure Cosmos DB e enviar logs de recursos para as seguintes fontes:

  • Workspaces do Log Analytics
    • Os dados enviados para o Log Analytics podem ser gravados em Diagnóstico do Azure (herdado) ou em tabelas específicas do Recurso (versão prévia)
  • Hub de Eventos
  • Conta de Armazenamento

Observação

Recomenda-se criar a configuração de diagnóstico no modo específico do recurso (para todas as APIs, exceto a API de Tabela) seguindo as instruções de criação da configuração de diagnóstico por meio da API REST. Essa opção fornece otimizações de custo adicionais com uma exibição aprimorada para lidar com os dados.

Pré-requisitos

Criar configurações de diagnóstico

Aqui, percorremos o processo de criação de configurações de diagnóstico para sua conta.

  1. Entre no portal do Azure.

  2. Navegue até a conta do Azure Cosmos DB. Abra o painel Configurações de diagnóstico na seção Monitoramento e selecione a opção Adicionar configuração de diagnóstico.

    Sreenshot of the diagnostics selection page.

    Importante

    Talvez seja exibida uma solicitação para "habilitar a consulta de texto completo [...] para logs mais detalhados" se o recurso consulta de texto completo não estiver habilitado na sua conta. Você pode ignorar esse aviso com segurança se não quiser habilitar esse recurso. Para obter mais informações, consulte habilitar consulta de texto completo.

  3. No painel Configurações de diagnóstico, preencha o formulário com suas categorias de preferência. Aqui está inclusa uma lista de categorias de log.

    Categoria API Definição Propriedades da chave
    DataPlaneRequests Recomendado para API para NoSQL Registra solicitações de back-end como operações de plano de dados que são solicitações executadas para criar, atualizar, excluir ou recuperar dados dentro da conta. Requestcharge, statusCode, clientIPaddress, partitionID, resourceTokenPermissionIdresourceTokenPermissionMode
    MongoRequests API para MongoDB Registra as solicitações iniciadas pelo usuário por meio do front-end para realizar solicitações ao Azure Cosmos DB for MongoDB. Ao habilitar essa categoria, desabilite o DataPlaneRequests. Requestcharge, opCode, retryCount, piiCommandText
    CassandraRequests API para Apache Cassandra Registra as solicitações iniciadas pelo usuário por meio do front-end para realizar solicitações ao Azure Cosmos DB for Cassandra. operationName, requestCharge, piiCommandText
    GremlinRequests API para Apache Gremlin Registra as solicitações iniciadas pelo usuário por meio do front-end para realizar solicitações ao Azure Cosmos DB for Gremlin. operationName, requestCharge, piiCommandText, retriedDueToRateLimiting
    QueryRuntimeStatistics API para NoSQL Esta tabela detalha as operações de consulta executadas em uma conta da API de NoSQL. Por padrão, o texto da consulta e seus parâmetros são ofuscados para evitarem o registro de dados pessoais com o registro de consulta de texto completo disponível mediante solicitação. databasename, partitionkeyrangeid, querytext
    PartitionKeyStatistics Todas as APIs Registra as estatísticas de chaves de partição lógicas representando o tamanho de armazenamento (KB) estimado das chaves de partição. Essa tabela é útil ao solucionar problemas de distorções de armazenamento. Esse log PartitionKeyStatistics só será emitido se as seguintes condições forem verdadeiras: 1. Pelo menos 1% dos documentos na partição física têm a mesma chave de partição lógica. 2. De todas as chaves na partição física, o registro PartitionKeyStatistics captura as três principais chaves com maior tamanho de armazenamento. Se as condições anteriores não forem atendidas, os dados de estatísticas da chave de partição não estarão disponíveis. Não há problema se as condições acima não forem atendidas para sua conta, o que normalmente indica que você não tem distorção de armazenamento de partição lógica. Observação: o tamanho estimado das chaves de partição é calculado usando uma abordagem de amostragem que pressupõe que os documentos na partição física têm aproximadamente o mesmo tamanho. Se os dimensionamentos dos documentos não forem uniformes na partição física, o tamanho estimado da chave de partição poderá não ser preciso. subscriptionId, regionName, partitionKey, sizeKB
    PartitionKeyRUConsumption API para NoSQL ou API para Apache Gremlin Registra o consumo agregado de RU/s por segundo de chaves de partição. Esta tabela é útil para solucionar problemas de partições mais acessadas. Atualmente, o Azure Cosmos DB informa chaves de partição apenas para contas da API de NoSQL e para operações de leitura/gravação, consulta e de procedimento armazenado. subscriptionId, regionName, partitionKey, requestCharge, partitionKeyRangeId
    ControlPlaneRequests Todas as APIs Registra detalhes em operações do plano de controle, o que inclui: criar uma conta, adicionar ou remover uma região, atualizar configurações de replicação de conta etc. operationName, httpstatusCode, httpMethod, region
    TableApiRequests API para Tabela Registra as solicitações iniciadas pelo usuário por meio do front-end para realizar solicitações ao Azure Cosmos DB for Table. operationName, requestCharge, piiCommandText
  4. Depois de escolher os Detalhes de categorias, envie seus logs para o destino preferencial. Se você estiver enviando logs para um Workspace do Log Analytics, escolha Específico do recurso como a tabela de destino.

    Screenshot of the option to enable resource-specific diagnostics.

Habilitar a consulta de texto completo para registrar o texto da consulta

Observação

A habilitação desse recurso pode resultar em custos de log adicionais, para detalhes de preços, visite Preços do Azure Monitor. É recomendável desabilitar esse recurso após a solução de problemas.

O Azure Cosmos DB oferece registro em log avançado para solução de problemas detalhada. Ao habilitar a consulta de texto completo, você pode exibir a consulta desofuscada para todas as solicitações na sua conta do Azure Cosmos DB. Você também dá permissão para que o Azure Cosmos DB acesse e exiba esses dados em seus logs.

  1. Para habilitar esse recurso, acesse a página Features na conta do Azure Cosmos DB.

    Screenshot of the navigation process to the Features page.

  2. Selecione Enable. Essa configuração será aplicada em alguns minutos. Todos os logs recém ingeridos têm o texto completo ou o texto PIICommand para cada solicitação.

    Screenshot of the full-text feature being enabled.

Consultar dados

Para saber como consultar usando esses recursos recém-habilitados, confira:

Próximas etapas