Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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 Azure Managed Redis, duas opções estão disponíveis para registro:
- Métricas de cache (ou seja, "AllMetrics") usadas para registrar métricas do Azure Monitor
- Registos de ligação regista as ligações à cache para fins de segurança e diagnóstico.
Métricas de cache
O Azure Managed Redis emite muitas métricas tais como Carga do Servidor e Ligações por Segundo que são úteis registar. Selecionar a opção AllMetrics permite que estas e outras métricas da cache sejam registadas. 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 Azure Managed Redis utiliza as definições de diagnóstico do Azure para registar informações sobre as ligações do cliente à sua cache. O registo e a análise desta definição de diagnóstico ajudam a compreender quem se está a ligar às suas caches e o carimbo de data/hora dessas ligaçõ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.
O Azure Managed Redis utiliza a funcionalidade auditoria de eventos de ligação functionality incorporada na pilha 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.
Importante
O registo no Azure Managed Redis centra-se em cada evento de ligação. Os logs só ocorrem quando o evento real ocorreu pela primeira vez.
Pré-requisitos/limitações do log de conexão
- Quando se 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 não ser registados.
- Como os registos de ligação no Azure Managed Redis se baseiam em eventos, tenha cuidado com as 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 os registos de ligação poderá causar uma pequena degradação do desempenho na instância do Redis.
Observação
É 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, pode escolher a Categoria específica ou os grupos de 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 precisar determinar a duração da retenção dos seus registos de ligação, selecione o item na secção Categorias em vez disso.
Destinos de log
Pode ativar as definições de diagnóstico para instâncias do Azure Managed Redis e enviar registos 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.
- Conta de armazenamento - deve estar na mesma região do cache. No entanto, as contas de armazenamento premium não são suportadas como destino.
- 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. E-lhe cobrado ao abrigo do Azure Monitor e não do Azure Managed Redis. Ao enviar logs para o Log Analytics, você será 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 o log de conexão usando o portal do Azure
Inicie sessão no portal Azure.
Navegue até sua conta do Azure Managed 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.
Para obter mais detalhes sobre os dados registrados, consulte abaixo Conteúdo dos logs de conexão.
Depois de selecionar Eventos de conexão, envie seus logs para o destino de sua preferência. Selecione as informações no painel de trabalho.
Habilitar o log de conexão usando a API REST
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.
Solicitação
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Cabeçalhos
| Parâmetros/Cabeçalhos | Valor/Descrição |
|---|---|
name |
O nome da sua configuração de diagnóstico. |
resourceUri |
assinaturas/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/RedisEnterprise/{CACHE_NAME}/databases/default |
api-version |
2017-05-01-pré-visualização |
Content-Type |
Aplicação/JSON |
Corpo
{
"properties": {
"storageAccountId": "/subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/apptest/providers/Microsoft.Storage/storageAccounts/myteststorage",
"eventHubAuthorizationRuleID": "/subscriptions/1a66ce04-b633-4a0b-b2bc-a912ec8986a6/resourceGroups/montest/providers/microsoft.eventhub/namespaces/mynamespace/authorizationrules/myrule",
"eventHubName": "myeventhub",
"marketplacePartnerId": "/subscriptions/abcdeabc-1234-1234-ab12-123a1234567a/resourceGroups/test-rg/providers/Microsoft.Datadog/monitors/mydatadog",
"workspaceId": "/subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/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 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:
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 dos logs de conexão
Esses campos e propriedades aparecem na ConnectionEvents categoria de log. No Azure Monitor, os logs REDConnectionEvents são recolhidos na tabela com 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 |
O carimbo de data/hora (UTC) quando o log de eventos foi capturado. |
location |
Location |
A localização (região) em que a instância do Azure Managed Redis foi acedida. |
category |
não aplicável | Categorias de log disponíveis: ConnectionEvents. |
resourceId |
_ResourceId |
O recurso do Azure Managed Redis para o qual os registos estão ativados. |
operationName |
OperationName |
A operação do Redis associada ao registo de logs. |
properties |
não aplicável | 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. A marca temporal pode ser convertida para o formato datetime usando a função unixtime_seconds_todatetime no espaço de trabalho de análise de logs. |
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ão aplicável | 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). |
Observação
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 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. (Os zeros à esquerda são omitidos após cada dois pontos.) Estes bytes correspondem a 10, 1, 1 e 4 em decimal, resultando no 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:
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/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"
}
}
E o log de um evento de autenticação tem esta aparência:
{
"time": "2023-01-24T10:00:02.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/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
}
}
E o log de um evento de desconexão tem esta aparência:
{
"time": "2023-01-24T10:00:03.3680050Z",
"resourceId": "/SUBSCRIPTIONS/4A1C78C6-5CB1-422C-A34E-0DF7FCB9BD0B/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"
}
}
Próximos passos
Para obter informações detalhadas sobre como criar uma configuração de diagnóstico usando o portal do Azure, CLI ou PowerShell, consulte Criar configuração de diagnóstico para coletar logs e métricas da plataforma no artigo do Azure .