Monitorizar os dados da Cache do Azure para Redis com as definições de diagnóstico
Artigo
As definições de diagnóstico no Azure são utilizadas para recolher registos de recursos. Um recurso do Azure emite logs de recursos e fornece dados ricos e frequentes sobre a operação desse recurso. Esses logs são capturados por solicitação e também são chamados de "logs de plano de dados". Consulte Configurações de diagnóstico no Azure Monitor para obter uma visão geral recomendada da funcionalidade no Azure. O conteúdo destes registos varia consoante o tipo de recurso. No Cache do Azure para Redis, duas opções estão disponíveis para registro:
Os Logs de Conexão registram conexões com o cache para fins de segurança e diagnóstico.
Âmbito da disponibilidade
Escalão de serviço
Basic, Standard e Premium
Flash Enterprise e Enterprise
Métricas de cache
Sim
Sim
Registos de Ligação
Sim
Sim
Métricas de cache
O Cache Redis do Azure emite muitas métricas , como Carga do Servidor e Conexões por Segundo , que são úteis para registro. Selecionar a opção AllMetrics permite que essas e outras métricas de cache sejam registradas. Você pode configurar por quanto tempo as métricas serão mantidas. Veja aqui um exemplo de exportação de métricas de cache para uma conta de armazenamento.
Registos de Ligação
O Cache Redis do Azure usa as configurações de diagnóstico do Azure para registrar informações em conexões de cliente com seu cache. Registrar e analisar essa configuração de diagnóstico ajuda você a entender quem está se conectando aos seus caches e o carimbo de data/hora dessas conexões. Os dados de registo podem ser utilizados para identificar o âmbito de uma violação de segurança e para fins de auditoria de segurança.
Diferenças entre o Cache do Azure para camadas Redis
A implementação de logs de conexão é ligeiramente diferente entre as camadas:
Os caches de nível Basic, Standard e Premium sondam 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. Eles representam instantâneos point-in-time tirados 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 nessas camadas.
Os caches das camadas Enterprise e Enterprise Flash usam a funcionalidade de eventos de conexão de auditoria integrada ao Redis Enterprise. Os eventos de conexão de auditoria permitem que todos os eventos de conexão, desconexão e autenticação sejam registrados, incluindo eventos de autenticação com falha.
Os logs de conexão produzidos são semelhantes entre as camadas, mas têm algumas diferenças. Os dois formatos são mostrados com mais detalhes mais adiante no artigo.
Importante
O log de conexão nas camadas Basic, Standard e Premium sonda as conexões de cliente atuais no cache. Os mesmos endereços IP do cliente aparecem repetidamente. O registro em log nas camadas Enterprise e Enterprise Flash é focado em cada evento de conexão. Os logs só ocorrem quando o evento real ocorreu pela primeira vez.
Pré-requisitos/limitações do log de conexão
Níveis Básico, Standard e Premium
Como os logs de conexão nessas camadas consistem em instantâneos point-in-time 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 não são registrados.
Todas as configurações de diagnóstico podem levar até 90 minutos para começar a fluir para o destino selecionado.
Habilitar os logs de conexão pode causar uma pequena degradação do desempenho da instância de cache.
Somente o plano de preços de Logs do Google Analytics é suportado ao transmitir logs para o Azure Log Analytics. Para obter mais informações, consulte Preços do Azure Monitor.
Níveis Enterprise e Enterprise Flash
Quando você usa a Diretiva de Cluster OSS, os logs são emitidos de cada nó de dados. Quando você usa a Diretiva de Cluster Empresarial, somente o nó que está sendo usado como proxy emite logs. Ambas as versões ainda cobrem todas as conexões com o cache. Esta é apenas uma diferença arquitetônica.
A perda de dados (ou seja, a falta de um evento de conexão) é rara, mas possível. A perda de dados é normalmente causada por problemas de rede.
Os logs de desconexão ainda não estão totalmente estáveis e os eventos podem ser perdidos.
Como os logs de conexão nas camadas Enterprise são 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 ainda poderá existir, mas o log dessa conexão não será mantido.
Se estiver usando a replicação geográfica ativa, o registro em log deverá ser configurado para cada instância de cache no grupo de replicação geográfica individualmente.
Todas as configurações de diagnóstico podem levar até 90 minutos para começar a fluir para o destino selecionado.
Habilitar logs de conexão pode causar uma pequena degradação do desempenho da instância de cache.
Nota
É sempre possível usar os comandos INFO ou CLIENT LIST para verificar quem está conectado a uma instância de cache sob demanda.
Importante
Ao selecionar logs, você pode escolher os grupos específicos de Categoria ou Categoria, que são agrupamentos predefinidos de logs nos serviços do Azure. Ao usar grupos de categorias, você não pode mais definir as configurações de retenção. Se você precisar determinar a duração da retenção para seus logs de conexão, selecione o item na seção Categorias .
Destinos de log
Você pode ativar as configurações de diagnóstico para instâncias do Cache Redis do Azure e enviar logs de recursos para os seguintes destinos:
Espaço de trabalho do Log Analytics - não precisa estar na mesma região que o recurso que está sendo monitorado.
Hub de eventos - as configurações de diagnóstico não podem acessar recursos do hub de eventos quando as redes virtuais estão habilitadas. Habilite a configuração Permitir que serviços confiáveis da Microsoft ignorem esse firewall? em Hubs de Eventos para conceder acesso aos recursos do Hub de Eventos. O hub de eventos deve estar na mesma região do cache.
Partner Solution - uma lista de potenciais soluções de registo de parceiros pode ser encontrada aqui
Para obter mais informações sobre requisitos de diagnóstico, consulte Configurações de diagnóstico.
São cobradas taxas de dados normais pela conta de armazenamento e pelo uso do hub de eventos quando você envia logs de diagnóstico para qualquer um dos destinos. Você é cobrado no Azure Monitor e não no Cache do Azure para Redis. Ao enviar logs para o Log Analytics, você será cobrado apenas pela ingestão de dados do Log Analytics.
Navegue até 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 em Categorias.
Navegue até 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ção 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 obter mais informações, consulte Criar ou atualizar.
Pedir
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 obter mais informações, consulte Criar ou atualizar.
Pedir
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Use o az monitor diagnostic-settings create comando para criar uma configuração de diagnóstico com a CLI do Azure. 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. Este exemplo mostra como usar a CLI do Azure para transmitir dados para quatro pontos de extremidade diferentes:
Use o az monitor diagnostic-settings create comando para criar uma configuração de diagnóstico com a CLI do Azure. 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. Este exemplo mostra como usar a CLI do Azure para transmitir dados para quatro pontos de extremidade diferentes:
Esses campos e propriedades aparecem na ConnectedClientList categoria de log. No Azure Monitor, os ACRConnectedClientList logs são coletados na tabela sob o nome do provedor de recursos .MICROSOFT.CACHE
Campo ou propriedade do Armazenamento do Azure
Propriedade Azure Monitor Logs
Description
time
TimeGenerated
O 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 Redis do Azure foi acessada.
category
n/d
Categorias de log disponíveis: ConnectedClientList.
resourceId
_ResourceId
O recurso Cache do Azure para Redis para o qual os logs estão habilitados.
operationName
OperationName
A operação Redis associada ao registro de log.
properties
n/d
O conteúdo deste campo é descrito nas linhas seguintes.
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 de cliente Redis do endereço IP associado.
Exemplo de log de conta de armazenamento
Se você enviar seus logs para uma conta de armazenamento, o conteúdo dos logs terá esta aparência.
Esses campos e propriedades aparecem na ConnectionEvents categoria de log. No Azure Monitor, os REDConnectionEvents logs são coletados na tabela sob o nome do provedor de recursos .MICROSOFT.CACHE
Campo ou propriedade do Armazenamento do Azure
Propriedade Azure Monitor Logs
Description
time
TimeGenerated
O carimbo de data/hora (UTC) quando o log de eventos foi capturado.
location
Location
O local (região) em que a instância do Cache Redis do Azure foi acessada.
category
n/d
Categorias de log disponíveis: ConnectionEvents.
resourceId
_ResourceId
O recurso Cache do Azure para Redis para o qual os logs estão habilitados.
operationName
OperationName
A operação Redis associada ao registro de log.
properties
n/d
O conteúdo deste campo é descrito nas linhas seguintes.
eventEpochTime
EventEpochTime
O carimbo de data/hora do UNIX (número de segundos desde 1 de janeiro de 1970) quando o evento aconteceu em UTC. O carimbo de data/hora pode ser convertido para o formato datetime usando a função unixtime_seconds_todatetime no espaço de trabalho de análise de log.
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 com base no tipo de cache. Se estiver usando o Log Analytics, o resultado estará sempre em IPv4, pois um campo IPv6 separado é fornecido.
n/d
PrivateLinkIPv6
O endereço IPv6 do link privado do cliente Redis (emitido apenas se estiver usando o Private Link e a análise de log).
id
ConnectionId
ID de conexão exclusivo atribuído pela 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 apenas para evento de autenticação).
Nota
Se o link privado for usado, apenas um endereço IPv6 será registrado (a menos que você esteja transmitindo os dados para a análise de log). Você pode converter o endereço IPv6 para o endereço IPv4 equivalente examinando 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 em hexadecimal são "0a", "01", "01" e "04". (Observe que os zeros à esquerda são omitidos após cada dois pontos.) Estes correspondem a "10", "1", "1" e "4" em decimal, dando-nos o endereço IPv4 "10.1.1.4".
Exemplo de log de conta de armazenamento
Se você enviar seus logs para uma conta de armazenamento, um log para um evento de conexão terá esta aparência: