Compartilhar via


Monitorar o Cache do Azure para Redis usando configurações de diagnóstico

Importante

O Cache do Azure para Redis anunciou a linha do tempo de desativação para todos os SKUs. Recomendamos migrar suas instâncias do Cache do Azure para Redis para o Redis Gerenciado pelo Azure assim que possível.

Para obter mais detalhes sobre a aposentadoria:

O Cache do Azure para Redis oferece duas opções de monitoramento nas configurações de diagnóstico:

  • As métricas de cache registram métricas do Azure Monitor sobre operações de cache.
  • Os logs de conexão registram conexões com o cache. O Azure captura esses logs, também chamados de logs de plano de dados, por solicitação. O conteúdo dos logs de conexão varia de acordo com o tipo de recurso.

Para obter uma visão geral da funcionalidade de monitoramento e registro em log do Azure Monitor, consulte as configurações de diagnóstico no Azure Monitor.

Escopo de disponibilidade

Camada Básico, Standard e Premium Enterprise e Enterprise Flash
Métricas de cache Sim Sim
Logs de Conexão Sim Sim

Métricas de cache

O Azure Redis emite muitas métricas úteis, como Carga de Servidor e Conexões por Segundo. Para obter uma listagem completa das métricas do Azure Redis, consulte Métricas.

Para registrar as métricas de cache, habilite a opção AllMetrics nas configurações de diagnóstico de cache de acordo com as instruções da camada. Você pode configurar por quanto tempo as métricas são retidas. Para obter mais informações sobre registro em log e exportação de métricas, consulte as métricas do Cache do Azure para Redis.

Logs de Conexão

O Azure Cache para Redis usa as configurações de diagnóstico do Azure para registrar informações sobre a conexão do cliente no seu cache. Registrar e analisar essas informações nas configurações de diagnóstico ajuda você a entender quem se conecta ao cache e quando. Você pode usar os dados de log para fins de auditoria de segurança ou para identificar o escopo de problemas de segurança.

Observação

Você sempre pode usar os comandos redis-cli INFO ou CLIENT LIST para verificar quem está conectado a uma instância de cache sob demanda.

A implementação do log de conexão e os logs produzidos são semelhantes entre as camadas do Redis do Azure, mas as camadas Basic, Standard e Premium têm algumas diferenças em relação às camadas Enterprise e Enterprise Flash.

Importante

  • Nas camadas Basic, Standard e Premium, o log de conexão sonda as conexões de cliente atuais no cache. Os mesmos endereços IP do cliente podem aparecer repetidamente enquanto suas conexões durarem.
  • Nas camadas Enterprise e Enterprise Flash, o registro em log se concentra em eventos de conexão. O registro em log ocorre somente quando o evento de conexão ou outro evento relacionado à conexão ocorre pela primeira vez.

Requisitos e limitações

Os caches das categorias básico, padrão e premium verificam as conexões dos clientes por endereço IP, incluindo o número de conexões originadas de cada endereço IP único. Esses logs não são cumulativos, mas representam instantâneos pontuais feitos em intervalos de 10 segundos. Essas camadas não registram eventos de autenticação ou de desconexão bem-sucedidos ou com falha.

Lembre-se das seguintes limitações:

  • Como os logs de conexão nessas camadas consistem de instantâneos pontuais tirados a cada 10 segundos, as conexões estabelecidas e removidas em intervalos de 10 segundos não são registradas.
  • Os eventos de autenticação e desconexão não são registrados.
  • As configurações de diagnóstico podem levar até 90 minutos para começar a fluir para o destino selecionado.
  • O registro em log de conexão pode causar uma pequena degradação de desempenho em seu cache.
  • Para transmitir logs para o Log Analytics, há suporte apenas para o plano de preços do Analytics Logs. Para saber mais, confira Preço do Azure Monitor.

Importante

Ao selecionar logs, você pode escolher categorias ou gruposde categorias, que são agrupamentos predefinidos de logs nos serviços do Azure. Se você usar grupos de categorias, não poderá definir as configurações de retenção. Se você precisar definir o tempo de retenção dos logs de conexão, selecione o item em Categorias. Para obter mais informações, consulte Grupos de categorias.

Destinos do log

Ao habilitar as configurações de diagnóstico para sua instância do Azure Redis, você pode enviar logs de recursos para os seguintes destinos:

  • Enviar para o workspace do Log Analytics. O workspace não precisa estar na mesma região que o recurso sendo monitorado.

  • Arquivar em uma conta de armazenamento. A conta de armazenamento deve estar na mesma região que o cache.

  • Transmitir para um hub de eventos. O hub de eventos deve estar na mesma região que o do cache.

    As configurações de diagnóstico não poderão acessar os recursos do hub de eventos se as redes virtuais estiverem habilitadas. Habilite os serviços confiáveis da Microsoft para ignorar essa configuração de firewall nos Hubs de Eventos do Azure para conceder acesso aos recursos do hub de eventos.

  • Enviar para uma solução de parceiro. Para obter uma lista de possíveis soluções de log de parceiros, consulte Estender o Azure com integrações nativas do Azure – dados e armazenamento.

Quando você envia logs de diagnóstico para uma conta de armazenamento ou hub de eventos, você é cobrado taxas de dados normais para qualquer um dos destinos. Você recebe uma cobrança no Azure Monitor, não no Cache do Azure para Redis. Quando você envia logs para o Log Analytics, é cobrado apenas pela ingestão de dados do Log Analytics. Para obter mais informações sobre preços, consulte os preços do Azure Monitor.

Habilitar configurações de diagnóstico usando o portal do Azure

  1. Na página do portal do Azure para o cache, selecione Configurações de diagnóstico em Monitoramento no painel de navegação esquerdo.

  2. Na página Configurações de diagnóstico, selecione Adicionar configuração de diagnóstico.

    Captura de tela que mostra a página Configurações de diagnóstico com Adicionar configuração de diagnóstico realçada.

  3. Na página Configuração de diagnóstico , insira um nome para a configuração de diagnóstico e selecione as opções de monitoramento desejadas. Por exemplo, selecione AllMetrics para registrar todas as métricas e allLogs para registrar em log tanto a lista de clientes conectados quanto o log de auditoria de autenticação MSEntra.

  4. Selecione um ou mais destinos e seus detalhes de destino e selecione Salvar.

    Captura de tela que mostra a página de configuração de configuração de diagnóstico para um cache Premium.

Habilitar o Registro de Conexões em Log usando a API REST

Para criar uma configuração de diagnóstico, use a API REST do Azure Monitor em um console interativo da seguinte maneira. Para obter mais informações, consulte Configurações de Diagnóstico – Criar ou atualizar.

Solicitação

PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview

Parâmetros/cabeçalhos

  • Content-Type: application/json
  • name: nome da configuração de diagnóstico
  • resourceUri: subscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/Redis/<cache name>
  • api-version: 2017-05-01-preview

Corpo de exemplo

{
    "properties": {
      "storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/appteststorage1",
      "eventHubAuthorizationRuleId": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/eventhubs/myeventhub/authorizationrules/myrule",
      "eventHubName": "myeventhub",
      "workspaceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
      "logs": [
        {
          "category": "ConnectedClientList",
          "enabled": true,
          "retentionPolicy": {
            "enabled": false,
            "days": 0
          }
        }
      ]
    }
}

Habilitar o registro em log de conexão usando a CLI do Azure

Use o comando da CLI az monitor diagnostic-settings create do Azure para criar uma configuração de diagnóstico. Para obter mais informações sobre descrições de comando e parâmetro, consulte Criar configurações de diagnóstico para enviar logs e métricas de plataforma para destinos diferentes.

O exemplo a seguir mostra como usar a CLI do Azure para transmitir dados para quatro pontos de extremidade diferentes:

az monitor diagnostic-settings create 
    --resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupname}/providers/Microsoft.Cache/Redis/{cacheName}
    --name {logName}
    --logs '[{"category": "ConnectedClientList","enabled": true,"retentionPolicy": {"enabled": false,"days": 0}}]'    
    --event-hub {eventHubName}
    --event-hub-rule /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.eventhub/namespaces/{eventHubNamespace}/authorizationrule/{ruleName}
    --storage-account /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
    --workspace /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{logAnalyticsWorkspaceName}
    --marketplace-partner-id/subscriptions/{subscriptionID}/resourceGroups{resourceGroupname}/providers/Microsoft.Datadog/monitors/mydatadog

Conteúdo do log de conexão

Os campos e as propriedades a seguir aparecem na ConnectedClientList categoria de log. No Azure Monitor, os logs são coletados na tabela ACRConnectedClientList, sob o nome do provedor de recursos MICROSOFT.CACHE.

Propriedade ou campo de Armazenamento do Microsoft Azure Propriedade de logs do Azure Monitor Descrição
time TimeGenerated O carimbo de data/hora UTC de quando o log foi gerado.
location Location A região do Azure na qual o cache Redis do Azure foi acessado.
category n/d ConnectedClientList de categorias de log disponíveis.
resourceId _ResourceId Para as quais os logs de recursos do Azure Redis estão habilitados.
operationName OperationName A operação do Redis associada ao registro de log.
properties n/d Consulte as linhas a seguir.
tenant CacheName O nome da instância do Azure Redis.
roleInstance RoleInstance A instância de função que registrou a lista de clientes.
connectedClients.ip ClientIp O endereço IP do cliente Redis.
connectedClients.privateLinkIpv6 PrivateLinkIpv6 O endereço IPv6 do link privado do cliente Redis, se aplicável.
connectedClients.count ClientCount O número de conexões dos clientes do Redis a partir do endereço IP associado.

Log da conta de armazenamento de exemplo

O conteúdo de um log enviado para uma conta de armazenamento pode ser semelhante ao exemplo a seguir.

{
    "time": "2021-08-05T21:04:58.0466086Z",
    "location": "canadacentral",
    "category": "ConnectedClientList",
    "properties": {
        "tenant": "mycache", 
        "connectedClients": [
            {
                "ip": "192.123.43.36", 
                "count": 86
            },
            {
                "ip": "10.1.1.4",
                "privateLinkIpv6": "fd40:8913:31:6810:6c31:200:a01:104", 
                "count": 1
            }
        ],
        "roleInstance": "1"
    },
    "resourceId": "/SUBSCRIPTIONS/eeee4efe-ff5f-aa6a-bb7b-cccccc8c8c8c/RESOURCEGROUPS/AZURE-CACHE/PROVIDERS/MICROSOFT.CACHE/REDIS/MYCACHE", 
    "Level": 4,
    "operationName": "Microsoft.Cache/ClientList"
}

Para obter informações detalhadas sobre como criar uma configuração de diagnóstico usando o portal do Azure, a CLI do Azure ou o Azure PowerShell, consulte Criar configurações de diagnóstico para coletar logs e métricas da plataforma no Azure.