Supervisión de datos de Azure Managed Redis (versión preliminar) mediante la configuración de diagnóstico
La configuración de diagnóstico de Azure se usa para recopilar los registros de los recursos. Un recurso de Azure emite registros de recursos y proporciona datos abundantes y frecuentes sobre el funcionamiento de ese recurso. Los registros se capturan por solicitud y también se denominan "registros de plano de datos". Consulte configuración de diagnósticos en Azure Monitor para obtener información general recomendada sobre la funcionalidad en Azure. El contenido de estos registros varía según el tipo de recurso. En Azure Managed Redis (versión preliminar), hay dos opciones disponibles para registrar:
- Métricas de caché (es decir, "AllMetrics") usadas para métricas de registro de Azure Monitor
- Los registros de conexión registran las conexiones a la caché con fines de seguridad y diagnóstico.
Métricas de caché
Azure Managed Redis (versión preliminar) emite muchas métricas que son útiles para registrar, como la carga del servidor y las conexiones por segundo. Al seleccionar la opción AllMetrics, estas y otras métricas de caché se podrán registrar. Es posible configurar cuánto tiempo se conservarán las métricas. Consulte aquí un ejemplo de exportación de métricas de caché a una cuenta de almacenamiento.
Registros de conexión
Azure Managed Redis usa la configuración de diagnóstico de Azure para registrar información sobre las conexiones de cliente a la caché. El registro y el análisis de esta configuración de diagnóstico le ayudarán a comprender quién se conecta a las cachés y la marca de tiempo de esas conexiones. Los datos del registro se pueden usar para identificar el ámbito de una vulneración de seguridad y con fines de auditoría de seguridad.
Azure Managed Redis usa la funcionalidad auditar eventos de conexión integrados en la pila de Redis Enterprise. Los eventos de conexión de auditoría permiten registrar todos los eventos de conexión, desconexión y autenticación, incluidos los eventos de autenticación con errores.
Importante
El registro en Azure Managed Redis se centra en cada evento de conexión. Los registros solo se producen cuando se produjo el evento real por primera vez.
Requisitos previos y limitaciones del registro de conexiones
- Cuando se use la directiva de clúster de OSS, los registros se emitirán desde cada nodo de datos. Cuando se use la directiva de clúster de empresa, solo el nodo que se use como proxy emitirá registros. Ambas versiones siguen mandando todas las conexiones a la memoria caché. Esto es solo una diferencia arquitectónica.
- La pérdida de datos (es decir, la falta de un evento de conexión) es poco frecuente, pero posible. La pérdida de datos suele deberse a problemas de red.
- Los registros de desconexión aún no son totalmente estables y es posible que se pierdan eventos.
- Dado que los registros de conexión de Azure Managed Redis se basan en eventos, tenga cuidado con las directivas de retención. Por ejemplo, si la retención se estableciera en 10 días y un evento de conexión se produjo hace 15 días, esa conexión podría existir, pero el registro de esa conexión no se conservará.
- Si usase la replicación geográfica activa, el registro deberá configurarse para cada instancia de caché del grupo de replicación geográfica de forma individual.
- Toda la configuración de diagnóstico podría tardar hasta 90 minutos en empezar a fluir al destino seleccionado.
- La habilitación de los registros de conexión podría provocar una pequeña degradación del rendimiento de la instancia de Redis.
Nota:
Siempre es posible usar los comandos INFO o CLIENT LIST para comprobar quién está conectado a una instancia de caché a petición.
Importante
Al seleccionar los registros, es posible elegir Categorías o Grupos de categorías específicos, los cuales son agrupaciones predefinidas de registros de los servicios de Azure. Cuando se usen Grupos de categorías, ya no se podrán configurar las opciones de retención. Si necesitase determinar la duración de la retención de los registros de conexión, seleccione el elemento de la sección Categorías en su lugar.
Destinos de registro
Puede activar la configuración de diagnóstico para instancias de Azure Managed Redis y enviar registros de recursos a los siguientes destinos:
- Área de trabajo de Log Analytics: no es necesario que esté en la misma región que el recurso que se esté supervisando.
- Cuenta de almacenamiento: debe estar en la misma región que la caché. Sin embargo, las cuentas de almacenamiento Premium no se admiten como destino.
- Centro de eventos: la configuración de diagnósticos no puede tener acceso a los recursos del centro de eventos cuando están habilitadas las redes virtuales. Habilite la opción ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall? en los centros de eventos para conceder acceso a los recursos del centro de eventos. El centro de eventos debe estar en la misma región que el almacén.
- Solución de partners: es posible encontrar una lista de posibles soluciones de registro de asociados aquí
Para más información sobre los requisitos de diagnóstico, consulte Configuración de diagnóstico.
Se le aplicarán las tarifas de datos normales por el uso de la cuenta de almacenamiento y del centro de eventos al enviar registros de diagnóstico a cualquier destino. La facturación se realiza en Azure Monitor, no en Azure Managed Redis. Al enviar registros a Log Analytics, solo se le cobrará por la ingesta de datos de Log Analytics.
Para más información sobre los precios, consulte Precios de Azure Monitor.
Habilitar el registro de conexión en Azure Portal
Inicie sesión en Azure Portal.
Vaya a la cuenta de Azure Managed Redis. Abra el panel Configuración de diagnóstico: auditoría en la sección Supervisión a la izquierda. Después, seleccione Agregar configuración de diagnóstico.
En el panel Configuración de diagnóstico: auditoría, seleccione Eventos de conexión en Categorías.
Para obtener más información sobre los datos registrados, consulte el contenido de los registros de conexión a continuación.
Una vez que seleccione Eventos de conexión, envíe los registros al destino que prefiera. Seleccione la información en el panel de trabajo.
Habilitar el registro de conexión en la API de REST
Use la API REST de Azure Monitor para crear una configuración de diagnóstico a través de la consola interactiva. Para más información, vea el tema sobre creación o actualización.
Solicitud
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
encabezados
Parámetros y encabezados | Valor y descripción |
---|---|
name |
El nombre de la configuración de diagnóstico. |
resourceUri |
subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/RedisEnterprise/{CACHE_NAME}/databases/default |
api-version |
2017-05-01-versión preliminar |
Content-Type |
application/json |
Cuerpo
{
"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 el registro de conexiones mediante la CLI de Azure
Use el comando az monitor diagnostic-settings create
para crear una configuración de diagnóstico con la CLI de Azure. Para más información sobre el comando y las descripciones de parámetros, consulte Creación de una configuración de diagnóstico para enviar los registros y las métricas de la plataforma a diferentes destinos. En este ejemplo, se muestra cómo usar la CLI de Azure para transmitir datos a cuatro puntos de conexión 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
Contenido de los registros de conexión
Estos campos y propiedades aparecen en la categoría de registro ConnectionEvents
. En Azure Monitor, los registros se recopilan en la tabla REDConnectionEvents
con el nombre MICROSOFT.CACHE
para el proveedor de recursos.
Propiedad o campo de Azure Storage | Propiedad de registros de Azure Monitor | Descripción |
---|---|---|
time |
TimeGenerated |
Marca de tiempo (UTC) de cuándo se capturó el registro de eventos. |
location |
Location |
Ubicación (región) en la que se ha accedido a la instancia de Azure Managed Redis. |
category |
N/D | Categorías de registro disponibles: ConnectionEvents . |
resourceId |
_ResourceId |
El recurso de Azure Managed Redis para el que están habilitados los registros. |
operationName |
OperationName |
La operación de Redis asociada a la entrada de registro. |
properties |
N/D | El contenido de este campo se describe en las filas siguientes. |
eventEpochTime |
EventEpochTime |
Marca de tiempo UNIX (número de segundos desde el 1 de enero de 1970) cuando el evento se produjo en UTC. La marca de tiempo se puede convertir al formato datetime mediante la función unixtime_seconds_todatetime en el área de trabajo del análisis de registros. |
clientIP |
ClientIP |
Dirección IP del cliente de Redis. Si usa Azure Storage, la dirección IP será el formato IPv4 o IPv6 de vínculo privado en función del tipo de caché. Si usa el análisis de registros, el resultado siempre estará en IPv4, ya que se proporciona un campo IPv6 independiente. |
N/D | PrivateLinkIPv6 |
La dirección IPv6 del vínculo privado del cliente de Redis (solo se emitirá si usa tanto Private Link como el análisis de registros). |
id |
ConnectionId |
Identificador de conexión único asignado por Redis. |
eventType |
EventType |
Tipo de evento de conexión (new_conn, auth, or close_conn). |
eventStatus |
EventStatus |
Resultados de una solicitud de autenticación como código de estado (solo aplicable al evento de autenticación). |
Nota:
Si se usa un vínculo privado, solo se registrará una dirección IPv6 (a menos que esté transmitiendo los datos al análisis de registros). Es posible convertir la dirección IPv6 en una dirección IPv4 equivalente examinando los cuatro últimos bytes de datos de la dirección IPv6. Por ejemplo, en la dirección IPv6 del vínculo privado "fd40:8913:31:6810:6c31:200:a01:104", los últimos cuatro bytes en hexadecimal son "0a", "01", "01" y "04". (Tenga en cuenta que los ceros iniciales se omitirán después de cada dos puntos). Estos corresponden a "10", "1", "1" y "4" en decimal, lo que nos da la dirección IPv4 "10.1.1.4".
Registro de la cuenta de almacenamiento de ejemplo
Al enviar los registros a una cuenta de almacenamiento, un registro para un evento de conexión tendría el siguiente aspecto:
{
"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"
}
}
Y el registro de un evento de autenticación tendría este aspecto:
{
"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
}
}
Y el registro de un evento de desconexión tendría este aspecto:
{
"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"
}
}
Pasos siguientes
Para más información sobre cómo crear una configuración de diagnóstico mediante Azure Portal, la CLI o PowerShell, consulte el artículo Creación de una configuración de diagnóstico para enviar los registros y las métricas de la plataforma a diferentes destinos.