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.
Os caches da camada Enterprise e Enterprise Flash usam a funcionalidade de evento de conexão de auditoria integrada ao Redis Enterprise. Os eventos de auditoria de conexão permitem registrar todos os eventos de conexão, desconexão e autenticação, incluindo aqueles em que a autenticação falhou.
Tenha em mente as seguintes limitações:
- Quando se usa a política de cluster OSS, os logs são emitidos a partir de cada nó de dados. Quando se utiliza a política de cluster Enterprise, apenas o nó usado como proxy emite logs. Esta diferença é apenas arquitetónica. Ambas as versões abrangem todas as conexões com o cache.
- A perda de dados, ou a falta de um evento de conexão, é rara, mas possível. A perda de dados é normalmente causada por problemas de rede.
- Os registos de desconexão podem não estar totalmente estáveis, e alguns eventos podem ser omitidos.
- Como os logs de conexão nas camadas Enterprise são baseados em eventos, considere suas políticas de retenção. Se a retenção estiver definida como 10 dias, uma conexão iniciada há 15 dias ainda pode existir, mas o log desse evento de conexão não será mantido.
- Se você usar a replicação geográfica ativa, deverá configurar o registro em log individualmente para cada instância de cache no grupo de replicação geográfica.
- 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.
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
Na página do portal do Azure para seu cache, selecione Configurações de diagnóstico em Monitoramento no painel de navegação esquerdo.
Na página Configurações de diagnóstico , selecione Adicionar configuração de diagnóstico.
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.
Selecione um ou mais destinos e os detalhes do seu destino e, em seguida, selecione Guardar.
Na página do portal do Azure para seu cache, em Monitoramento no painel de navegação esquerdo, selecione Configurações de diagnóstico - Métricas para métricas ou Configurações de diagnóstico - Auditoria para logs.
Na página Configurações de diagnóstico - Métricas ou Configurações de diagnóstico - Auditoria , selecione Adicionar configuração de diagnóstico.
Na página Configuração de diagnóstico para métricas ou logs de recursos, insira um nome para sua configuração de diagnóstico e selecione as métricas ou as opções de log de recursos desejadas. Na página de registo, pode selecionar a categoria Eventos de ligação ou os grupos de categorias de auditoria ou de todos os registos. Qualquer uma dessas opções activa o registo de ligações.
Selecione um ou mais destinos e os detalhes do seu destino e, em seguida, selecione Guardar.
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
}
}
]
}
}
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/RedisEnterprise/<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/myteststorage",
"eventHubAuthorizationRuleID": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule",
"eventHubName": "myeventhub",
"marketplacePartnerId": "/subscriptions/dddd3d3d-ee4e-ff5f-aa6a-bbbbbb7b7b7b/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/mydatadog",
"workspaceId": "/subscriptions/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/resourceGroups/insights integration/providers/Microsoft.OperationalInsights/workspaces/myworkspace",
"logs": [
{
"category": "ConnectionEvents",
"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
az monitor diagnostic-settings create
--resource /subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisenterprise/{cacheName}/databases/default
--name {logName}
--logs '[{"category": "ConnectionEvents","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"
}
Esses campos e propriedades aparecem na ConnectionEvents
categoria de log. No Azure Monitor, os logs são coletados na tabela REDConnectionEvents
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. |
eventEpochTime |
EventEpochTime |
O carimbo de data/hora UNIX UTC, ou seja, o número de segundos desde 1 de janeiro de 1970, quando o evento ocorreu. Você pode converter o timestamp para o formato datetime usando a função unixtime_seconds_todatetime no espaço de trabalho do Log Analytics. |
clientIP |
ClientIP |
O endereço IP do cliente Redis. Se você usar o armazenamento do Azure, o endereço IP será IPv4 ou formato IPv6 de Link Privado com base no tipo de cache. Se você usar o Log Analytics, esse resultado estará sempre em IPv4, porque há um campo IPv6 separado. |
não aplicável |
PrivateLinkIPv6 |
O endereço IPv6 do link privado do cliente Redis, emitido somente se estiver usando o Private Link e o Log Analytics. |
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 eventos de autenticação. |
Observação
Se você usar o Private Link, somente um endereço IPv6 será registrado, a menos que você transmita os dados para o Log Analytics. Você pode converter o endereço IPv6 para o endereço IPv4 equivalente usando os últimos quatro bytes de dados no endereço IPv6. Por exemplo, no endereço fd40:8913:31:6810:6c31:200:a01:104
IPv6 do Link Privado, os últimos quatro bytes em hexadecimal são 0a
, 01
, 01
e 04
. (No endereço, zeros à esquerda após dois pontos são omitidos.) Esses valores correspondem a 10
, 1
, 1
e 4
em decimal, produzindo o endereço IPv4 10.1.1.4
.
Exemplos de logs de conta de armazenamento
Um log para um evento de conexão enviado para uma conta de armazenamento pode se parecer com o exemplo a seguir.
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "new_conn"
}
}
O log de um evento de autenticação pode ser semelhante a este exemplo:
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "auth",
"eventStatus": 8
}
}
O log de um evento de desconexão pode ter esta aparência:
{
"time": "2023-01-24T10:00:03.3680050Z",
"resourceId": "/SUBSCRIPTIONS/ffff5f5f-aa6a-bb7b-cc8c-dddddd9d9d9d/RESOURCEGROUPS/TEST/PROVIDERS/MICROSOFT.CACHE/REDISENTERPRISE/AUDITING-SHOEBOX/DATABASES/DEFAULT",
"category": "ConnectionEvents",
"location": "westus",
"operationName": "Microsoft.Cache/redisEnterprise/databases/ConnectionEvents/Read",
"properties": {
"eventEpochTime": 1674554402,
"id": 6185063009002,
"clientIP": "20.228.16.39",
"eventType": "close_conn"
}
}
Conteúdo relacionado
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.