Azure Cache pour Redis offre deux options de supervision dans les paramètres de diagnostic :
-
Les métriques du cache journalisent les métriques Azure Monitor sur les opérations de cache.
-
Les journaux de connexion journalisent les connexions au cache. Azure capture ces journaux, également appelés journaux de plan de données, par demande. Le contenu des journaux de connexion varie selon le type de ressource.
Pour obtenir une vue d’ensemble de la fonctionnalité de surveillance et de journalisation d’Azure Monitor, consultez Les paramètres de diagnostic dans Azure Monitor.
Étendue de la disponibilité
Niveau |
De base, Standard et Premium |
Entreprise et Enterprise Flash |
Mesures de cache |
Oui |
Oui |
Journaux de connexion |
Oui |
Oui |
Mesures de cache
Azure Redis émet de nombreuses métriques utiles, telles que la charge du serveur et les connexions par seconde. Pour obtenir la liste complète des métriques Redis Azure, consultez Métriques.
Pour journaliser les métriques de cache, activez l’option AllMetrics dans vos paramètres de diagnostic du cache en fonction des instructions de votre niveau. Vous pouvez configurer la durée pendant laquelle les métriques sont conservées. Pour plus d’informations sur la journalisation et l’exportation des métriques, consultez les métriques Azure Cache pour Redis.
Journaux de connexion
Azure Cache pour Redis utilise les paramètres de diagnostic Azure pour journaliser les informations de connexion du client sur votre cache. La journalisation et l’analyse de ces informations dans les paramètres de diagnostic vous aident à comprendre qui se connecte à votre cache et quand. Vous pouvez utiliser les données de journal à des fins d’audit de sécurité ou identifier l’étendue des problèmes de sécurité.
Remarque
Vous pouvez toujours utiliser les commandes redis-cli INFO ou CLIENT LIST pour vérifier qui est connecté à une instance de cache à la demande.
L’implémentation du journal de connexion et les journaux générés sont similaires entre les différents niveaux d'Azure Redis, mais les niveaux Basique, Standard et Premium présentent quelques différences par rapport aux niveaux Enterprise et Enterprise Flash.
Important
- Dans les niveaux De base, Standard et Premium, la journalisation des connexions interroge les connexions clientes actuelles dans le cache. Les mêmes adresses IP clientes peuvent apparaître à plusieurs reprises tant que leurs connexions durent.
- Dans les niveaux Enterprise et Enterprise Flash, la journalisation se concentre sur les événements de connexion. La journalisation se produit uniquement lorsque l’événement de connexion ou un autre événement lié à la connexion se produit en premier.
Conditions requises et limitations :
Les caches de base, Standard et Premium interrogent les connexions clientes par adresse IP, y compris le nombre de connexions provenant de chaque adresse IP unique. Ces journaux de bord ne sont pas cumulatifs, mais représentent des instantanés temporels pris à intervalles de 10 secondes. Ces niveaux ne consignent pas les événements d’authentification réussis ou ayant échoué ou les événements de déconnexion.
Gardez à l’esprit les limitations suivantes :
- Étant donné que les journaux de connexion de ces niveaux sont constitués d’instantanés ponctuels pris toutes les 10 secondes, les connexions établies et supprimées dans un intervalle de 10 secondes ne sont pas enregistrées.
- Les événements d’authentification et de déconnexion ne sont pas enregistrés.
- Les paramètres de diagnostic peuvent prendre jusqu’à 90 minutes pour commencer à circuler vers votre destination sélectionnée.
- La journalisation des connexions peut entraîner une petite dégradation des performances dans votre cache.
- Pour diffuser des journaux vers Log Analytics, seul le plan tarifaire des journaux d’activité Analytics est pris en charge. Pour plus d’informations, consultez Tarification Azure Monitor.
Les caches de niveau Flash Entreprise et Entreprise utilisent la fonctionnalité d’événement de connexion d’audit intégrée à Redis Enterprise. Les événements de connexion d’audit permettent de journaliser chaque événement de connexion, de déconnexion et d’authentification, y compris les événements d’authentification ayant échoué.
Gardez à l’esprit les limitations suivantes :
- Lorsque vous utilisez la stratégie de cluster OSS, les journaux sont émis à partir de chaque nœud de données. Lorsque vous utilisez la stratégie de cluster d’entreprise, seul le nœud utilisé comme proxy émet des journaux. Cette différence n’est qu’architecturale. Les deux versions couvrent toutes les connexions au cache.
- La perte de données ou l’absence d’un événement de connexion est rare mais possible. La perte de données est généralement due à des problèmes réseau.
- Les journaux de déconnexion peuvent ne pas être complètement stables, et des événements peuvent être ignorés.
- Étant donné que les journaux de connexion sur les niveaux Entreprise sont basés sur des événements, tenez compte de vos stratégies de rétention. Si la rétention est définie sur 10 jours, une connexion démarrée il y a 15 jours peut toujours exister, mais le journal de cet événement de connexion n’est pas conservé.
- Si vous utilisez la géoréplication active, vous devez configurer la journalisation individuellement pour chaque instance de cache dans le groupe de géoréplication.
- Les paramètres de diagnostic peuvent prendre jusqu’à 90 minutes pour commencer à circuler vers votre destination sélectionnée.
- La journalisation des connexions peut entraîner une petite dégradation des performances dans votre cache.
Important
Lorsque vous sélectionnez des journaux, vous pouvez choisir des catégories ou des groupes de catégories, qui sont des regroupements prédéfinis de journaux dans les services Azure. Si vous utilisez des groupes de catégories, vous ne pouvez pas configurer les paramètres de rétention. Si vous devez définir la durée de rétention de vos journaux de connexion, sélectionnez l’élément dans Catégories à la place. Pour plus d’informations, consultez Groupes de catégories.
Destinations des journaux
Lorsque vous activez les paramètres de diagnostic pour votre instance Azure Redis, vous pouvez envoyer des journaux de ressources aux destinations suivantes :
Envoyer à l’espace de travail Log Analytics. Il n’est pas obligatoire que l’espace de travail réside dans la même région que la ressource supervisée.
Archive vers un compte de stockage. Le compte de stockage doit se trouver dans la même région que le cache.
Transmettre à un Event Hub. L’Event Hub doit se trouver dans la même région que le cache.
Les paramètres de diagnostic ne peuvent pas accéder aux ressources event Hub si les réseaux virtuels sont activés. Activez le paramètre Autoriser les services Microsoft approuvés à contourner ce pare-feu dans Azure Event Hubs pour accorder l'accès aux ressources du concentrateur d’événements.
Envoyer à la solution partenaire. Pour obtenir la liste des solutions de journalisation de partenaires potentielles, consultez Étendre Azure avec Azure Native Integrations - Données et stockage.
Lorsque vous envoyez des journaux de diagnostic à un compte de stockage ou à un hub d’événements, vous êtes facturé des tarifs de données normaux pour l’une ou l’autre des destinations. Vous êtes facturé par Azure Monitor, et non par Azure Cache pour Redis. Lorsque vous envoyez des journaux à Log Analytics, vous êtes facturé uniquement pour l’ingestion de données Log Analytics. Pour plus d’informations sur la tarification, consultez la tarification d’Azure Monitor.
Activer les paramètres de diagnostic à l’aide du portail Azure
Dans la page du portail Azure de votre cache, sélectionnez Paramètres de diagnostic sous Surveillance dans le volet de navigation gauche.
Dans la page Paramètres de diagnostic, sélectionnez Ajouter un paramètre de diagnostic.
Dans la page Paramètres de diagnostic, entrez un nom pour votre paramètre de diagnostic, puis sélectionnez les options de surveillance souhaitées. Par exemple, sélectionnez AllMetrics pour journaliser toutes les métriques et allLogs pour journaliser à la fois la liste des clients connectés et le journal d’audit d’authentification MSEntra.
Sélectionnez une ou plusieurs destinations et vos détails de destination, puis sélectionnez Enregistrer.
Dans la page du portail Azure de votre cache, sous Surveillance dans le volet de navigation gauche, sélectionnez Paramètres de diagnostic - Métriques pour les métriques ou Paramètres de diagnostic - Audit pour les journaux.
Dans la page Paramètres de diagnostic - Métriques ou Paramètres de diagnostic - Audit , sélectionnez Ajouter un paramètre de diagnostic.
Dans la page Paramètres de diagnostic pour les métriques ou les journaux de ressources, entrez un nom pour votre paramètre de diagnostic et sélectionnez les métriques ou les options de journal des ressources souhaitées. Dans la page de journalisation, vous pouvez sélectionner la catégorie événements de connexion ou audit ou toutes les catégories de logs. L’un de ces choix permet la journalisation des connexions.
Sélectionnez une ou plusieurs destinations et vos détails de destination, puis sélectionnez Enregistrer.
Activer la journalisation des connexions à l’aide de l’API REST
Pour créer un paramètre de diagnostic, utilisez l’API REST Azure Monitor dans une console interactive comme suit. Pour plus d’informations, consultez Paramètres de diagnostic - Créer ou mettre à jour.
Requête
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Paramètres/en-têtes
-
Content-Type
: application/json
-
name
: nom de votre paramètre de diagnostic
-
resourceUri
: subscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/Redis/<cache name>
-
api-version
: 2017-05-01-preview
Exemple de contenu
{
"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
}
}
]
}
}
Requête
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Paramètres/en-têtes
-
Content-Type
: application/json
-
name
: nom de votre paramètre de diagnostic
-
resourceUri
: subscriptions/<your subscription id>/resourceGroups/<cache resource group>/providers/Microsoft.Cache/RedisEnterprise/<cache name>
-
api-version
: 2017-05-01-preview
Exemple de contenu
{
"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
}
}
]
}
}
Activer la journalisation des connexions à l’aide d’Azure CLI
Utilisez la commande Azure CLI az monitor diagnostic-settings create
pour créer un paramètre de diagnostic. Pour plus d’informations sur les descriptions des commandes et des paramètres, consultez Créer des paramètres de diagnostic pour envoyer des journaux de plateforme et des métriques à différentes destinations.
L’exemple suivant montre comment utiliser Azure CLI pour diffuser des données vers quatre points de terminaison différents :
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
Contenu du journal de connexion
Les champs et propriétés suivants s’affichent dans la catégorie journal ConnectedClientList
. Dans Azure Monitor, les journaux d’activité sont collectés dans la table ACRConnectedClientList
sous le nom du fournisseur de ressources MICROSOFT.CACHE
.
Propriété ou champ du stockage Azure |
Propriété des journaux Azure Monitor |
Descriptif |
time |
TimeGenerated |
Horodatage UTC lorsque le journal a été généré. |
location |
Location |
La région Azure dans laquelle le cache Redis Azure a été utilisé. |
category |
n/a |
Catégorie de journal disponible : ConnectedClientList . |
resourceId |
_ResourceId |
Les journaux de ressources Azure Redis sont activés. |
operationName |
OperationName |
Opération Redis associée à l’enregistrement de journal. |
properties |
n/a |
Consultez les lignes suivantes. |
tenant |
CacheName |
Nom de l’instance Redis Azure. |
roleInstance |
RoleInstance |
Instance de rôle qui a consigné la liste des clients. |
connectedClients.ip |
ClientIp |
Adresse IP du client Redis. |
connectedClients.privateLinkIpv6 |
PrivateLinkIpv6 |
Adresse IPv6 de liaison privée du client Redis, si applicable. |
connectedClients.count |
ClientCount |
Nombre de connexions au client Redis à partir de l’adresse IP associée. |
Exemple de journal de compte de stockage
Le contenu d’un journal envoyé à un compte de stockage peut ressembler à l’exemple suivant.
{
"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"
}
Ces champs et propriétés s’affichent dans la catégorie de log ConnectionEvents
. Dans Azure Monitor, les journaux d’activité sont collectés dans la table REDConnectionEvents
sous le nom du fournisseur de ressources MICROSOFT.CACHE
.
Propriété ou champ du stockage Azure |
Propriété des journaux Azure Monitor |
Descriptif |
time |
TimeGenerated |
Horodatage UTC lorsque le journal a été généré. |
location |
Location |
La région Azure dans laquelle le cache Redis Azure a été utilisé. |
category |
n/a |
Catégorie de journal disponible : ConnectedClientList . |
resourceId |
_ResourceId |
Les journaux de ressources Azure Redis sont activés. |
operationName |
OperationName |
Opération Redis associée à l’enregistrement de journal. |
properties |
n/a |
Consultez les lignes suivantes. |
eventEpochTime |
EventEpochTime |
Le horodatage UNIX UTC, ou le nombre de secondes écoulées depuis le 1er janvier 1970, au moment où l’événement s’est produit. Vous pouvez convertir l’horodatage au format datetime en utilisant la fonction unixtime_seconds_todatetime dans l’espace de travail Log Analytics. |
clientIP |
ClientIP |
Adresse IP du client Redis. Si vous utilisez le stockage Azure, l’adresse IP est au format IPv4 ou Private Link IPv6 en fonction du type de cache. Si vous utilisez Log Analytics, ce résultat est toujours dans IPv4, car il existe un champ IPv6 distinct. |
n/a |
PrivateLinkIPv6 |
L’adresse IPv6 du client Redis, émise uniquement si vous utilisez Private Link et Log Analytics. |
id |
ConnectionId |
ID de connexion unique attribué par Redis. |
eventType |
EventType |
Type d’événement de connexion : new_conn , auth ou close_conn . |
eventStatus |
EventStatus |
Résultats d’une demande d’authentification en tant que code d’état. Applicable uniquement aux événements d’authentification. |
Remarque
Si vous utilisez Private Link, seule une adresse IPv6 est enregistrée, sauf si vous diffusez les données vers Log Analytics. Vous pouvez convertir l’adresse IPv6 en adresse IPv4 équivalente à l’aide des quatre derniers octets de données dans l’adresse IPv6. Par exemple, dans l’adresse fd40:8913:31:6810:6c31:200:a01:104
IPv6 Private Link, les quatre derniers octets en hexadécimal sont 0a
, 01
01
et 04
. (Dans l’adresse, les zéros de début après les points de terminaison sont omis.) Ces valeurs correspondent à 10
, 1
, 1
et 4
en décimal, produisant l’adresse 10.1.1.4
IPv4 .
Exemple de journaux de comptes de stockage
Un journal pour un événement de connexion envoyé à un compte de stockage peut ressembler à l’exemple suivant.
{
"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"
}
}
Le journal d’un événement d’authentification peut ressembler à cet exemple :
{
"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
}
}
Le journal d’un événement de déconnexion peut ressembler à ceci :
{
"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"
}
}
Contenu connexe
Pour plus d’informations sur la création d’un paramètre de diagnostic à l’aide du portail Azure, d’Azure CLI ou d’Azure PowerShell, consultez Créer des paramètres de diagnostic pour collecter les journaux de plateforme et les métriques dans Azure.