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.
Os caches das camadas Enterprise e Enterprise Flash usam a funcionalidade evento de conexão de auditoria interna do Redis Enterprise. Auditoria dos eventos de conexão permite que todas as conexões, desconexões e eventos de autenticação sejam registrados, incluindo os eventos de falha de autenticação.
Lembre-se das seguintes limitações:
- Quando você usa a política de cluster Software de código aberto, os logs são emitidos de cada nó de dados. Quando você usa a política de cluster Enterprise, somente o nó que está sendo usado como o proxy emite logs. Essa diferença é apenas arquitetura. 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 são raros, mas possíveis. A perda de dados costuma ser causada por problemas de rede.
- Os logs de desconexão podem não ser totalmente estáveis e alguns eventos podem não ser registrados.
- 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 for definida como 10 dias, uma conexão iniciada há 15 dias ainda poderá 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 registro em log de conexão pode causar uma pequena degradação de desempenho em seu cache.
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
Na página do portal do Azure para o 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 em log tanto a lista de clientes conectados quanto o log de auditoria de autenticação MSEntra.
Selecione um ou mais destinos e seus detalhes de destino e selecione Salvar.
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 registros, você pode selecionar a categoria eventos de conexão ou auditoria ou grupos de categorias allLogs. Qualquer uma dessas opções habilita o registro de conexão.
Selecione um ou mais destinos e seus detalhes de destino e selecione Salvar.
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
}
}
]
}
}
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/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 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
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 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"
}
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 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. |
eventEpochTime |
EventEpochTime |
O carimbo de data/hora UTC UNIX ou o número de segundos desde 1º de janeiro de 1970, de quando o evento ocorreu. Você pode converter o carimbo de data/hora no 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 está no formato IPv4 ou IPv6 de Link Privado com base no tipo de cache. Se você usar o Log Analytics, esse resultado estará sempre no IPv4, pois há um campo IPv6 separado. |
| n/d |
PrivateLinkIPv6 |
O endereço IPv6 do link privado do cliente Redis, emitido somente se estiver usando o Link Privado e o Log Analytics. |
id |
ConnectionId |
ID de conexão única atribuída pelo Redis. |
eventType |
EventType |
Tipo de evento de conexão: new_conn, authou close_conn. |
eventStatus |
EventStatus |
Resultados de uma solicitação de autenticação como um código de status. Aplicável somente para eventos de autenticação. |
Observação
Se você usar o Link Privado, somente um endereço IPv6 será registrado em log, a menos que você transmita os dados para o Log Analytics. Você pode converter o endereço IPv6 no 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:104IPv6 do Link Privado, os últimos quatro bytes em hexadecimal são0a, 01e 0104. (No endereço, os 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 da conta de armazenamento
Um log para um evento de conexão enviado a uma conta de armazenamento pode ser semelhante ao 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.