Partilhar via


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

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

  • Métricas de cache registam 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 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 Configurações de diagnóstico no Azure Monitor.

Âmbito da disponibilidade

Escalão de serviço Básico, Standard e Premium Enterprise e Enterprise Flash
Métricas da cache Sim Sim
Registos de ligação Sim Sim

Métricas da cache

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

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

Registos de ligação

O Cache Redis do Azure usa as configurações de diagnóstico do Azure para registrar informações de conexão do cliente sobre 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 dos 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 Redis do Azure, mas as camadas Basic, Standard e Premium têm algumas diferenças das camadas Enterprise e Enterprise Flash.

Importante

  • Nas camadas Basic, Standard e Premium, o registro de conexões verifica as conexões de cliente atuais no cache. Os mesmos endereços IP do cliente podem aparecer repetidamente, desde que durem suas conexões.
  • 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 acontece pela primeira vez.

Requisitos e limitações

Os caches de nível Básico, Standard e Premium pesquisam as conexões do cliente por endereço IP, incluindo o número de conexões originadas de cada endereço IP exclusivo. Esses logs não são cumulativos, mas representam instantâneos específicos no tempo tirados em intervalos de 10 segundos. Essas camadas não registram eventos de autenticação ou eventos de desconexão bem-sucedidos ou com falha.

Tenha em mente as seguintes limitações:

  • Dado que os registos de conexão nessas camadas consistem em instantâneos no ponto do tempo tirados a cada 10 segundos, as conexões estabelecidas e removidas num intervalo de 10 segundos não são logadas.
  • 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 log de conexão pode causar uma pequena degradação de desempenho no cache.
  • Para transmitir logs para o Log Analytics, apenas o plano de preços do Analytics Logs é suportado. Para obter mais informações, consulte Preços do Azure Monitor.

Importante

Ao selecionar logs, você pode escolher Categorias ou Grupos de 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 precisar definir a duração da retenção para os seus logs de conexão, selecione o item indicado em Categorias. Para obter mais informações, consulte Grupos de categorias.

Destinos de registo

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 a área de trabalho do Log Analytics. O espaço de trabalho não precisa estar na mesma região que o recurso que está sendo monitorado.

  • Arquivar numa conta de armazenamento. A conta de armazenamento deve estar na mesma região do cache.

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

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

  • Enviar para 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, são cobradas taxas de dados normais para qualquer um dos destinos. Você é faturado através do Azure Monitor, não do Azure Cache 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 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 seu 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 ecrã que mostra a página Definições de diagnóstico com Adicionar definiçã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 a lista de clientes conectados e o log de auditoria de autenticação do MSEntra.

  4. Selecione um ou mais destinos e os detalhes do seu destino e, em seguida, selecione Guardar.

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

Habilitar o log de conexão 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.

Pedido

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: O 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 log de conexão usando a CLI do Azure

Use o comando 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 comandos e parâmetros, consulte Criar configurações de diagnóstico para enviar logs e métricas da 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 seguintes campos e propriedades aparecem na categoria de log ConnectedClientList. No Azure Monitor, os logs são coletados na tabela ACRConnectedClientList sob o nome do provedor de recursos MICROSOFT.CACHE.

Campo ou propriedade do Armazenamento do Azure Propriedades de Logs do Azure Monitor Descrição
time TimeGenerated A marca de tempo UTC quando o log foi gerado.
location Location A região do Azure na qual o cache Redis do Azure foi acessado.
category não aplicável Categoria de log ConnectedClientList disponível.
resourceId _ResourceId Os logs de recursos do Azure Redis estão habilitados para.
operationName OperationName A operação do Redis associada ao registo de logs.
properties não aplicável Veja 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 ligações de clientes Redis a partir do endereço IP associado.

Exemplo de log de conta de armazenamento

O conteúdo de um log enviado para uma conta de armazenamento pode se parecer com o 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.