Como monitorar a latência do lado do servidor para operações em um contêiner ou conta do Azure Cosmos DB
APLICA-SE A: NoSQL MongoDB Cassandra Gremlin Tabela
O Azure Monitor para Azure Cosmos DB fornece uma exibição de métricas para monitorar sua conta e criar painéis. As métricas do Azure Cosmos DB são coletadas por padrão, esse recurso não exige que você habilite ou configure nada explicitamente. As métricas de latência direta e de gateway de latência do lado do servidor são usadas para exibir a latência do lado do servidor de uma operação em dois modos de conexão diferentes. Use a métrica de gateway de latência do lado do servidor se a operação de solicitação estiver no modo de conectividade de gateway. Use a métrica direta de latência do lado do servidor se a operação de solicitação estiver no modo de conectividade direta. O Azure Cosmos DB fornece SLA inferior a 10 ms para operações de leitura/gravação de ponto com conectividade direta. Para operações de leitura pontual e gravação pontual, os SLAs são calculados conforme detalhado no documento do SLA. Para obter mais informações sobre o modo de conexão, consulte o artigo Modos de conectividade.
A tabela a seguir indica qual API oferece suporte a métricas de latência do lado do servidor (Direct versus Gateway):
API | Latência direta do lado do servidor | Gateway de latência do lado do servidor |
---|---|---|
SQL | ✓ | ✓ |
MongoDB | ✓ | |
Cassandra | ✓ | |
Gremlin | ✓ | |
Tabela | ✓ | ✓ |
Você pode monitorar métricas de latência do lado do servidor se vir latência anormalmente alta para operação pontual, como:
- Uma operação GET ou SET com chave de partição e ID
- Uma operação de leitura ou escrita ou
- Uma consulta
Você pode procurar o log de diagnóstico para ver o tamanho dos dados retornados. Se você vir uma latência alta sustentada para operações de consulta, deverá procurar no log de diagnóstico uma taxa de transferência mais alta ou RU/s usados. A latência do lado do servidor mostra a quantidade de tempo gasto na infraestrutura de back-end antes que os dados sejam retornados ao cliente. É importante olhar para essa métrica para descartar quaisquer problemas de latência de back-end.
Exibir as métricas de latência do lado do servidor
Inicie sessão no portal do Azure.
Selecione Monitor na barra de navegação esquerda e selecione Métricas.
No painel> Métricas, selecione um recurso>, escolha a assinatura necessária e o grupo de recursos. Para o Tipo de recurso, selecione Contas do Azure Cosmos DB, escolha uma das suas contas existentes do Azure Cosmos DB e selecione Aplicar.
Em seguida, selecione a métrica Server Side Latency Gateway na lista de métricas disponíveis, se sua operação estiver no modo de conectividade de gateway. Selecione a métrica Server Side Latency Direct , se sua operação estiver no modo de conectividade direta. Para saber mais detalhadamente sobre todas as métricas disponíveis nesta lista, consulte o artigo Métricas por categoria . Neste exemplo, vamos selecionar Server Side Latency Gateway e Avg como o valor de agregação. Além desses detalhes, você também pode selecionar o Intervalo de tempo e a granularidade de tempo das métricas. No máximo, você pode visualizar as métricas dos últimos 30 dias. Depois de aplicar o filtro, é apresentado um gráfico com base no filtro. Você pode ver a latência do lado do servidor no modo de conectividade do gateway por 5 minutos durante o período selecionado.
Filtros para latência do lado do servidor
Você também pode filtrar métricas e obter os gráficos exibidos por um CollectionName, DatabaseName, OperationType, Region e PublicAPIType específicos.
Para filtrar as métricas, selecione Adicionar filtro e escolha a propriedade necessária, como PublicAPIType e selecione o valor Sql. Selecione Aplicar divisão para OperationType. Em seguida, o gráfico exibe a latência do lado do servidor para diferentes operações no modo de conexão de gateway durante o período selecionado. As operações executadas via Stored procedure não são registradas, portanto, não estão disponíveis na métrica OperationType.
As métricas do Server Side Latency Gateway para cada operação são exibidas conforme mostrado na imagem a seguir:
Você também pode agrupar as métricas usando a opção Aplicar divisão .
Nota
As solicitações que entram no Azure Cosmos DB nem sempre têm como alvo um contêiner. Por exemplo, você pode criar um banco de dados dentro de uma conta distribuída globalmente e a solicitação ainda será registrada para a métrica de latência do lado do servidor. A solicitação é registrada porque leva tempo para criar um recurso de banco de dados, mas não tem como destino um contêiner. Se você vir que o CollectionName
valor da métrica é <empty>
, isso significa que o destino não é um contêiner, mas outro recurso no Azure Cosmos DB.
Como solução alternativa, você pode filtrar proativamente suas métricas para um contêiner específico (CollectionName) para excluir solicitações que não são específicas do contêiner que é o assunto da consulta.
Próximos passos
- Monitore os dados do Azure Cosmos DB usando as configurações de diagnóstico no Azure.
- Auditar as operações do plano de controle do Azure Cosmos DB