Monitorar o Cache do Azure para Redis

O Cache Redis do Azure usa o Azure Monitor para fornecer várias opções para monitorar suas instâncias de cache. Essas ferramentas permitem monitorar a integridade de suas instâncias do Cache do Azure para Redis e ajudá-lo a gerenciar seus aplicativos de cache.

Use o Azure Monitor para:

  • exibir métricas
  • fixar gráficos de métricas no quadro inicial
  • personalizar a data e o intervalo de tempo dos gráficos de monitoramento
  • adicionar e remover métricas dos gráficos
  • e definir alertas quando determinadas condições forem atendidas

Métricas para instâncias do Cache do Azure para Redis são coletadas usando o comando INFO do Redis. As métricas são coletadas aproximadamente duas vezes por minuto e armazenadas automaticamente por 30 dias para que possam ser exibidas nos gráficos de métricas e avaliadas pelas regras de alerta.

Para configurar uma política de retenção diferente, consulte Exportar métricas de cache.

Para saber mais sobre os diferentes valores INFO usados para cada métrica de cache, confira Métricas disponíveis e intervalos de relatórios.

Ver métricas de cache

Para exibir as métricas de cache, procure sua instância de cache no portal do Azure. O Cache Redis do Azure fornece alguns gráficos internos à esquerda usando a Visão Geral e as Métricas do Redis. Cada gráfico pode ser personalizado com a adição ou remoção de métricas e a alteração do intervalo de relatório.

Six graphs are shown. One of them is Cache Hits and Cache Misses past hour.

Exibir gráficos de métricas pré-configurados

À esquerda, Visão geral tem os seguintes gráficos de monitoramento pré-configurados.

Gráficos de monitoramento

A seção Monitoramento---em Visão geral à esquerda---tem os gráficos Acertos e Erros, Gets e Sets, Conexões e Total de Comandos.

Monitoring charts

Gráficos de uso

A seção Uso---em Visão geral à esquerda---tem os gráficos Carga do Servidor Redis, Uso de Memória, Largura de Banda de Rede e Uso de CPU e também exibe o Tipo de preço para a instância de cache.

Usage charts

A Tipo de preço exibe a tipo de preço do cache e pode ser usada para dimensionar o cache para um tipo de preço diferente.

Exibir gráficos de métricas para todos os caches com o Azure Monitor para o Cache do Azure para Redis

Use o Azure Monitor para Cache do Azure para Redis (versão prévia) para uma exibição do desempenho geral, das falhas, da capacidade e da integridade operacional de todos os seus recursos do Cache do Azure para Redis. Exibir métricas em uma experiência personalizável, unificada e interativa que permite que você analise detalhadamente os detalhes de recursos individuais. O Azure Monitor para o Cache do Azure para Redis é baseado no recurso das pastas de trabalho do Azure Monitor que fornece visualizações avançadas para métricas e outros dados. Para saber mais, confira o artigo Explorar o artigo do Azure Monitor para o Cache do Azure para Redis.

Exibição das métricas com o gerenciador de métricas do Azure Monitor

Para cenários nos quais você não precisa de flexibilidade total do Azure Monitor para o Cache do Azure para Redis, você pode exibir as métricas e criar gráficos personalizados usando o gerenciador de métricas do Azure Monitor. Selecione Métricas no menu Recursos e personalize o gráfico usando as métricas, intervalo de relatórios, tipo de gráfico preferenciais e muito mais.

No painel de navegação esquerdo da contoso55, as métricas são uma opção em Monitoramento e são realçadas. Em Métricas, há uma lista de métricas. Ocorrências no cache e Perdas no cache são selecionados.

Screenshot with metrics showing in the resource manager

Para saber mais sobre como trabalhar com as métricas usando o Azure Monitor, consulte Visão geral das métricas no Microsoft Azure.

Exportar métricas de cache

Por padrão, as métricas de cache no Azure Monitor são armazenadas durante 30 dias e, em seguida, excluídas. Para persistir suas métricas de cache por mais de 30 dias, indique uma conta de armazenamento e especifique uma política de Retenção (dias) para suas métricas de cache.

Para configurar uma conta de armazenamento para suas métricas de cache:

  1. Na página Cache do Azure para Redis, no cabeçalho Monitoramento, selecione Diagnósticos.
  2. Selecione + Adicionar configuração de diagnóstico.
  3. Nomeie as configurações.
  4. Marque Arquivar em uma conta de armazenamento. Você pagará taxas de dados normais por armazenamento e transações ao enviar diagnóstico para uma conta de armazenamento.
  5. Selecione Configurar para escolher a conta de armazenamento para armazenar as métricas de cache.
  6. Na métrica do título da tabela, marque a caixa de seleção ao lado dos itens de linha que você deseja armazenar, como AllMetrics. Especifique uma política de Retenção (dias) . A retenção máxima de dias que você pode especificar é de 365 dias. No entanto, se você quiser manter os dados de métricas para sempre, defina a Retenção (dias) como 0.
  7. Selecione Salvar.

Redis diagnostics

Observação

Além de arquivar as métricas de cache no armazenamento, você também pode transmiti-las para um Hub de Eventos ou enviá-las para logs do Azure Monitor.

Para acessar suas métricas, você pode visualizá-las no portal do Azure, conforme descrito anteriormente neste artigo. Você também pode acessá-las usando a API REST das Métricas do Azure Monitor.

Observação

Se você alterar contas de armazenamento, os dados na conta de armazenamento configurada anteriormente permanecerão disponíveis para download, mas não serão exibidos no portal do Azure.

Métricas disponíveis e intervalos de relatórios

Métricas de cache são relatadas usando vários intervalos de geração de relatórios, incluindo Última hora, Hoje, Semana passada, e Personalizado. À esquerda, você verá que a seleção de Métrica para cada gráfico de métricas exibe os valores médio, mínimo e máximo para cada métrica no gráfico, e algumas métricas exibem um total para o intervalo de relatório.

Cada métrica inclui duas versões. Uma métrica mede o desempenho de todo o cache, e para os caches que usam cluster, uma segunda versão da métrica que inclui (Shard 0-9) no nome mede o desempenho de um único fragmento em um cache. Por exemplo, se um cache tiver quatro fragmentos, Cache Hits será o número total de ocorrências para todo o cache, e Cache Hits (Shard 3) será apenas as ocorrências para esse fragmento do cache.

Observação

Quando você estiver vendo o tipo de agregação :

  • Count" mostra 2, indica que a métrica recebeu 2 pontos de dados para sua granularidade de tempo (1 minuto).
  • "Max" mostra o valor máximo de um ponto de dados na granularidade de tempo,
  • "Min" mostra o valor mínimo de um ponto de dados na granularidade de tempo,
  • "Average" mostra o valor médio de todos os pontos de dados na granularidade de tempo.
  • "Sum" mostra a soma de todos os pontos de dados na granularidade de tempo, e pode ser enganoso dependendo da métrica específica. Em condições normais, "Average" e "Max" serão muito semelhantes porque apenas um nó emite essas métricas (o nó mestre). Em um cenário onde o número de clientes conectados muda rapidamente, "Max", "Average" e "Min" mostrariam valores muito diferentes e esse também é o comportamento esperado.

Em geral, "Average" mostrará um gráfico suave da métrica desejada e reagirá bem às alterações na granularidade de tempo. "Max" e "Min" podem ocultar grandes alterações na métrica se a granularidade de tempo for grande, mas podem ser usados com uma granularidade de tempo pequeno para ajudar a identificar os horários exatos em que ocorrem grandes alterações na métrica.

"Count" e "Sum" podem ser enganosos para determinadas métricas (clientes conectados incluídos).

Portanto, sugerimos que você dê uma olhada nas métricas Average e não nas métricas Sum.

Observação

Mesmo quando o cache está ocioso sem aplicativos de cliente ativos conectados, você pode ver alguma atividade no cache, como clientes conectados, uso de memória e operações que estão sendo executadas. Essa atividade é normal durante a operação de uma instância do Cache Redis do Azure.

Métrica Descrição
Acertos do Cache O número de pesquisas de chave com êxito durante o intervalo de relatório especificado. Esse número é mapeado para keyspace_hits no comando INFO do Redis.
Latência do cache (versão prévia) A latência do cache calculada usando a latência de entre nós do cache. Essa métrica é medida em microssegundos e tem três dimensões: Avg, Min e Max. As dimensões representam a latência média, mínima e máxima do cache durante o intervalo de relatório especificado.
Erros de Cache O número de pesquisas de chave com falha durante o intervalo de relatório especificado. Esse número é mapeado para keyspace_misses no comando INFO do Redis. Erros de cache não significam necessariamente que há um problema com o cache. Por exemplo, ao se usar o padrão de programação cache-aside, um aplicativo procura um item no cache primeiro. Se o item não estiver lá (erro de cache), o item será recuperado do banco de dados e adicionado ao cache na próxima vez. Erros de cache são o comportamento normal para o padrão de programação cache-aside. Se o número de erros de cache for maior do que o esperado, examine a lógica do aplicativo que popula e lê do cache. Se os itens estiverem sendo removidos do cache devido à pressão de memória, poderá haver alguns erros de cache, mas uma métrica melhor para monitorar a pressão de memória seria Used Memory ou Evicted Keys.
Cache Lido A quantidade de dados lidos do cache, em MB/s, durante o intervalo de relatório especificado. Esse valor é derivado das placas de adaptador de rede que dão suporte à máquina virtual que hospeda o cache e não é específico do Redis. Esse valor corresponde à largura de banda de rede usada por esse cache. Se você quer configurar alertas para os limites de largura de banda de rede do lado do servidor, crie-os usando este contador Cache Read. Confira esta tabela para ver os limites de largura de banda observados para vários tamanhos e tipos de preço de cache.
Gravação no Cache A quantidade de dados gravados no cache, em MB/s, durante o intervalo de relatório especificado. Esse valor é derivado das placas de adaptador de rede que dão suporte à máquina virtual que hospeda o cache e não é específico do Redis. Esse valor corresponde à largura de banda de rede de dados enviados para o cache do cliente.
Clientes conectados O número de conexões de cliente com o cache durante o intervalo de relatório especificado. Esse número é mapeado para connected_clients do comando INFO do Redis. Assim que o limite de conexão for atingido, as tentativas posteriores de se conectar ao cache falharão. Mesmo que não haja aplicativos clientes ativos, ainda poderá haver algumas instâncias de clientes conectados devido a processos e conexões internas.
Conexões criadas por segundo O número de conexões instantâneas criadas por segundo no cache por meio da porta 6379 ou 6380 (SSL). Essa métrica pode ajudar a identificar se os clientes estão se desconectando e se reconectando com frequência, o que pode aumentar o uso da CPU e do carregamento do servidor Redis.
Conexões fechadas por segundo O número de conexões instantâneas fechadas por segundo no cache por meio da porta 6379 ou 6380 (SSL). Essa métrica pode ajudar a identificar se os clientes estão se desconectando e se reconectando com frequência, o que pode aumentar o uso da CPU e do carregamento do servidor Redis.
CPU A utilização da CPU do servidor do Cache Redis do Azure como um percentual durante o intervalo de relatório especificado. Esse valor é mapeado para o contador de desempenho \Processor(_Total)\% Processor Time do sistema operacional. Observação: essa métrica pode ser ruidosa devido a processos de segurança em segundo plano de baixa prioridade em execução no nó, portanto recomendamos monitorar a métrica de carga do servidor para acompanhar a carga em um servidor Redis.
Errors Falhas específicas e problemas de desempenho que o cache pode estar enfrentando durante um intervalo de relatório especificado. Essa métrica tem oito dimensões representando diferentes tipos de erros, mas poderia ter mais adicionadas no futuro. Os tipos de erros representados agora são os seguintes:
  • Failover – quando um cache falha (subordinado promovido a primário)
  • Perda de Dados – quando há perda de dados no cache
  • UnresponsiveClients – quando os clientes não estão lendo dados do servidor com rapidez suficiente
  • AOF – quando há um problema relacionado à persistência do AOF
  • RDB – quando há um problema relacionado à persistência do RDB
  • Importação – quando há um problema relacionado à Importação do RDB
  • Exportação – quando há um problema relacionado à Exportação do RDB
Chaves removidas O número de itens removidos do cache durante o intervalo de relatório especificado devido ao limite de maxmemory. Esse número é mapeado para evicted_keys no comando INFO do Redis.
Chaves expiradas O número de itens expirados do cache durante o intervalo de relatório especificado. Esse valor é mapeado para expired_keys do comando INFO do Redis.
Gets O número de operações get do cache durante o intervalo de relatório especificado. Esse valor é a soma dos seguintes valores de informações do comando INFO all do Redis: cmdstat_get, cmdstat_hget, cmdstat_hgetall, cmdstat_hmget, cmdstat_mget, cmdstat_getbit e cmdstat_getrange. Ele é equivalente à soma de acertos e erros de cache durante o intervalo de relatório.
Operações por segundo O número total de comandos processados por segundo pelo servidor de cache durante o intervalo de relatório especificado. Este valor mapeia para "instantaneous_ops_per_sec" a partir do comando INFO do Redis.
Carga do Servidor Redis O percentual de ciclos em que o servidor Redis está ocupado processando, em vez de ocioso esperando por mensagens. Se esse contador atingir 100, isso indicará que o servidor Redis atingiu um limite de desempenho, e a CPU não pode processar o trabalho mais depressa. Se houver alta Carga do Servidor Redis, haverá exceções de tempo limite no cliente. Nesse caso, considere escalar verticalmente ou particionar seus dados em vários caches.
Conjuntos O número de operações set para o cache durante o intervalo de relatório especificado. Esse valor é a soma dos seguintes valores de informações do comando INFO all do Redis : cmdstat_set, cmdstat_hset, cmdstat_hmset, cmdstat_hsetnx, cmdstat_lset, cmdstat_mset, cmdstat_msetnx, cmdstat_setbit, cmdstat_setex, cmdstat_setrange e cmdstat_setnx.
Total de chaves O número máximo de chaves no cache durante o período de relatório anterior. Esse número é mapeado para keyspace no comando INFO do Redis. Devido a uma limitação no sistema subjacente de métricas, para os caches com clustering habilitado, o Total de Chaves retorna o número máximo de chaves do fragmento que tinha o número máximo de chaves durante o intervalo do relatório.
Total de Operações O número total de comandos processados pelo servidor de cache durante o intervalo de relatório especificado. Esse valor é mapeado para total_commands_processed do comando INFO do Redis. Quando o Cache Redis do Azure for usado somente para publicação/assinatura, não haverá métricas para Cache Hits, Cache Misses, Gets ou Sets, mas haverá métricas de Total Operations que refletem o uso do cache para operações de publicação/assinatura.
Memória Usada A quantidade de memória de cache em MB que é usada para os pares de chave/valor no cache durante o intervalo de relatório especificado. Esse valor é mapeado para used_memory do comando INFO do Redis. Esse valor não inclui metadados ou fragmentação.
Porcentagem de memória utilizada A % da memória total que está sendo usada durante o intervalo de relatório especificado. Isso referencia o valor used_memory no comando INFO do Redis para calcular a porcentagem.
Memória RSS Usada A quantidade de memória de cache usada, em MB, durante o intervalo de relatório especificado, incluindo fragmentação e metadados. Esse valor é mapeado para used_memory_rss do comando INFO do Redis.

Alertas

É possível configurar para receber alertas com base em métricas e logs de atividades. O Azure Monitor permite configurar um alerta para que ele faça o seguinte quando for acionado:

  • Enviar uma notificação por email
  • Chamar um webhook
  • Invocar um aplicativo lógico do Azure

Para configurar regras de Alerta para seu cache, selecione Regras de alerta no menu Recursos.

Monitoring

Para saber mais sobre como configurar e usar Alertas, consulte Visão geral dos alertas.