Monitorar os dados do Cache do Azure para Redis usando configurações de diagnóstico
Artigo
As configurações de diagnóstico no Azure são usadas para coletar logs de recursos. Um recurso do Azure emite logs do recurso e fornece dados avançados e frequentes sobre a operação do recurso em questão. Esses logs são capturados por solicitação e chamados de “logs do plano de dados”. Confira o artigo Configurações de diagnóstico no Azure Monitor para obter uma visão geral recomendada da funcionalidade no Azure. O conteúdo desses logs varia de acordo com o tipo de recurso. No Cache do Azure para Redis, duas opções de log estão disponíveis:
Os Logs de Conexão registram conexões com o cache para fins de segurança e diagnóstico.
Escopo de disponibilidade
Camada
Básico, Standard e Premium
Enterprise e Enterprise Flash
Métricas de cache
Sim
Sim
Logs de Conexão
Sim
Yes
Métricas de cache
O Cache do Azure para Redis emite várias métricas, como, por exemplo, Carga do Servidor e Conexões por Segundo, cujo registro é útil. Selecionar a opção AllMetrics permite que essas e outras métricas de cache sejam registradas em log. Você pode configurar por quanto tempo as métricas são retidas. Confira aqui um exemplo de exportação de métricas de cache para uma conta de armazenamento.
Logs de Conexão
O Cache do Azure para Redis usa as configurações de diagnóstico do Azure para registrar informações sobre as conexões de clientes com seu cache. O registro em log e a análise dessa configuração de diagnóstico ajudam você a entender quem está se conectando aos seus caches e o carimbo de data/hora dessas conexões. Esses dados de log podem ser usados para identificar o escopo de uma violação de segurança e para fins de auditoria de segurança.
Diferenças entre os níveis do Cache do Azure para Redis
A implementação de logs de conexão difere ligeiramente entre os níveis:
Os níveis de cache Básico, Standard e Premium pesquisam as conexões de 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. Elas representam instantâneos pontuais feitos em intervalos de 10 segundos. Os eventos de autenticação (bem-sucedidos e com falha) e os eventos de desconexão não são registrados nesses níveis.
Os níveis de cache Enterprise e Enterprise Flash usam a funcionalidade auditoria dos eventos de conexão integrada no Redis Enterprise. Os logs de auditoria dos eventos de conexão permitem que todas as conexões, desconexões e eventos de autenticação sejam registrados, incluindo os eventos de autenticação com falha.
Os logs de conexão produzidos pelos diversos níveis são semelhantes, mas apresentam algumas diferenças. Os dois formatos são mostrados mais detalhadamente mais adiante neste artigo.
Importante
O registro de conexões em logs nos níveis Básico, Standard e Premium pesquisa as conexões de clientes atualmente no cache. Os mesmos endereços IP de clientes aparecem diversas vezes. Os logs dos níveis Enterprise e Enterprise Flash se concentram em cada evento de conexão. Os logs ocorrem somente quando o evento real ocorreu pela primeira vez.
Pré-requisitos/limitações do Registro de Conexões em Log
Níveis Básico, Standard e Premium
Como os logs de conexão nesses níveis consistem de instantâneos pontuais tirados a cada 10 segundos, as conexões estabelecidas e removidas dentro de intervalos de 10 segundos não são registradas.
Os eventos de autenticação não são registrados.
Todas as configurações de diagnóstico podem levar até 90 minutos para começar a fluir para o seu destino selecionado.
A habilitação de logs de conexão pode causar uma pequena degradação de desempenho na instância de cache.
Somente o plano de preços intitulado Logs de Análises tem suporte para a transmissão de logs para o Azure Log Analytics. Para saber mais, confira Preço do Azure Monitor.
Camadas Enterprise e Enterprise Flash
Quando você usa a Política de Clusters de OSS, os logs são emitidos por cada nó de dados. Quando você usa a Política de Clusters Enterprise, somente o nó que está sendo usado como proxy emite logs. Ambas as versões abrangem todas as conexões com o cache. A diferença é apenas de caráter arquitetônico.
A perda de dados (ou seja, deixar passar um evento de conexão) é uma ocorrência rara, mas possível. A perda de dados costuma ser causada por problemas de rede.
Os logs de desconexão ainda não estão totalmente estáveis e podem deixar passar eventos.
Devido ao fato de os logs de conexão nos níveis Enterprise serem baseados em eventos, tenha cuidado com suas políticas de retenção. Por exemplo, se a retenção estiver definida como 10 dias e um evento de conexão tiver ocorrido há 15 dias, essa conexão pode ainda existir, mas o log da conexão não é retido.
Se estiver usando uma replicação geográfica ativa, o registro em log deverá ser configurado individualmente para cada instância de cache no grupo da replicação geográfica.
Todas as configurações de diagnóstico podem levar até 90 minutos para começar a fluir para o seu destino selecionado.
A habilitação de logs de conexão poderá causar uma pequena degradação de desempenho na instância de cache.
Observação
É sempre possível usar os comandos INFO ou CLIENT LIST para verificar sob demanda quem está conectado a uma instância de cache.
Importante
Ao selecionar logs, você pode escolher uma Categoria específica ou Grupos de Categorias, que são agrupamentos de logs predefinidos nos vários serviços do Azure. Ao usar Grupos de categorias, você perde a capacidade de definir as configurações de retenção. Se precisar determinar a duração da retenção para seus logs de conexão, selecione o item na seção Categorias.
Destinos de Logs
Você pode ativar as configurações de diagnóstico para instâncias do Cache do Azure para Redis e enviar logs de recursos para os seguintes destinos:
Workspace do Log Analytics – Não precisa estar na mesma região do recurso que está sendo monitorado.
Hub de eventos - as configurações de diagnóstico não podem acessar recursos de hubs de eventos quando as redes virtuais estão habilitadas. Habilitar Permitir que os serviços confiáveis da Microsoft ignorem este firewall? , configuração nos hubs de eventos para conceder acesso aos recursos do hub de eventos. O hub de eventos deve estar na mesma região que o do cache.
Solução de Parceiro: uma lista de possíveis soluções de registro em log de parceiros pode ser encontrada aqui
Ao enviar logs de diagnóstico para o destino, você será cobrado pelas taxas de dados normais para a conta de armazenamento e pelo uso do hub de eventos. Você é cobrado em Azure Monitor não Cache do Azure para Redis. Ao enviar logs para o Log Analytics, você é cobrado somente pela ingestão de dados do Log Analytics.
Navegue até o sua conta do Cache do Azure para Redis. Abra o painel Configurações de diagnóstico na seção Monitoramento à esquerda. Em seguida, selecione Adicionar configuração de diagnóstico.
No painel Configurações de diagnóstico, selecione ConnectedClientList na guia Categorias.
Navegue até o sua conta do Cache do Azure para Redis. Abra o painel Configurações de Diagnóstico: Auditoria na seção Monitoramento à esquerda. Em seguida, selecione Adicionar configuração de diagnóstico.
No painel Configurações de Diagnóstico: Auditoria, selecione eventos de Conexão em Categorias.
Use a API REST do Azure Monitor para criar uma configuração de diagnóstico por meio do console interativo. Para mais informações, consulte Criar ou atualizar.
Solicitação
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Use a API REST do Azure Monitor para criar uma configuração de diagnóstico por meio do console interativo. Para mais informações, consulte Criar ou atualizar.
Solicitação
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Use o comando az monitor diagnostic-settings create para criar uma configuração de diagnóstico com a CLI do Azure. Para obter mais informações sobre as descrições de parâmetro e comando, confira Criar configurações de diagnóstico para enviar logs e métricas de plataforma para destinos diferentes. Esse exemplo mostra como usar a CLI do Azure para transmitir dados para quatro pontos de extremidade diferentes:
Use o comando az monitor diagnostic-settings create para criar uma configuração de diagnóstico com a CLI do Azure. Para obter mais informações sobre as descrições de parâmetro e comando, confira Criar configurações de diagnóstico para enviar logs e métricas de plataforma para destinos diferentes. Esse exemplo mostra como usar a CLI do Azure para transmitir dados para quatro pontos de extremidade diferentes:
Esses campos e essas 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 de MICROSOFT.CACHE.
Propriedade ou campo de Armazenamento do Microsoft Azure
Propriedade de logs do Azure Monitor
Descrição
time
TimeGenerated
Carimbo de data/hora de quando o log foi gerado em UTC.
location
Location
O local (região) em que a instância do Cache do Azure para Redis foi acessada.
category
N/D
Categorias de log disponíveis: ConnectedClientList.
resourceId
_ResourceId
O recurso do Cache do Azure para Redis para o qual os logs estão habilitados.
operationName
OperationName
A operação do Redis associada ao registro de log.
properties
N/D
O conteúdo desse campo é descrito nas linhas a seguir.
tenant
CacheName
O nome da instância do Cache do Azure para 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 do cliente Redis do endereço IP associado.
Log da conta de armazenamento de exemplo
Se você enviar seus logs para uma conta de armazenamento, o conteúdo dos logs ficará assim.
Esses campos e essas propriedades aparecem na categoria de log ConnectionEvents. No Azure Monitor, os logs são coletados na tabela REDConnectionEvents, sob o nome do provedor de recursos de 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 de eventos foi capturado.
location
Location
O local (região) em que a instância do Cache do Azure para Redis foi acessada.
category
N/D
Categorias de log disponíveis: ConnectionEvents.
resourceId
_ResourceId
O recurso do Cache do Azure para Redis para o qual os logs estão habilitados.
operationName
OperationName
A operação do Redis associada ao registro de log.
properties
N/D
O conteúdo desse campo é descrito nas linhas a seguir.
eventEpochTime
EventEpochTime
O carimbo de data/hora UNIX (número de segundos desde 1º de janeiro de 1970) de quando o evento ocorreu em UTC. O carimbo de data/hora pode ser convertido para o formato datetime usando a função unixtime_seconds_todatetime no workspace do Log Analytics.
clientIP
ClientIP
O endereço IP do cliente Redis. Se estiver usando o armazenamento do Azure, o endereço IP será IPv4 ou formato IPv6 de link privado dependendo do tipo de cache. Se estiver usando o Log Analytics, o resultado estará sempre em IPv4, já que um campo em IPv6 separado é fornecido.
N/D
PrivateLinkIPv6
O endereço em IPv6 do link privado do cliente do Redis (emitido somente se estiver usando tanto o Link Privado quanto o Log Analytics).
id
ConnectionId
ID de conexão única atribuída pelo Redis.
eventType
EventType
Tipo de evento de conexão (new_conn, auth ou close_conn).
eventStatus
EventStatus
Resultados de uma solicitação de autenticação como um código de status (aplicável somente a eventos de autenticação).
Observação
Se o link privado for usado, somente um endereço IPv6 será registrado em log (a menos que você esteja transmitindo os dados para o Log Analytics). Você pode converter o endereço IPv6 para o endereço IPv4 equivalente observando os últimos quatro bytes de dados no endereço IPv6. Por exemplo, no endereço IPv6 do link privado "fd40:8913:31:6810:6c31:200:a01:104", os últimos quatro bytes no sistema hexadecimal são "0a", "01", "01" e "04". (observe que os zeros à esquerda são omitidos após cada dois-pontos). Correspondem a "10", "1", "1" e "4" no sistema decimal, fornecendo o endereço IPv4 "10.1.1.4".
Log da conta de armazenamento de exemplo
Se você enviar seus logs para uma conta de armazenamento, um log de um evento de conexão será mais ou menos assim: