Surveiller les données d’Azure Managed Redis (préversion) à l’aide de paramètres de diagnostic
Les paramètres de diagnostic dans Azure sont utilisés pour collecter les journaux des ressources. Une ressource Azure émet des journaux de ressources et fournit des données riches et fréquentes sur le fonctionnement de cette ressource. Ces journaux sont capturés par requête et sont également appelés « journaux de plans de données ». Consultez Paramètres de diagnostic dans Azure Monitor pour obtenir une vue d’ensemble recommandée des fonctionnalités dans Azure. Le contenu de ces journaux d’activité varie en fonction du type de ressource. Dans Azure Managed Redis (préversion), deux options de journalisation sont disponibles :
- Métriques de cache (c’est-à-dire « AllMetrics ») utilisées pour journaliser les métriques d’Azure Monitor
- Les journaux de connexion consignent les connexions au cache à des fins de sécurité et de diagnostic.
Métriques du cache
Azure Managed Redis (préversion) émet de nombreuses métriques, telles que la Charge du serveur et les Connexions par seconde, qui sont utiles dans le cadre de la journalisation. La sélection de l’option AllMetrics permet de consigner ces métriques de cache et d’autres. Vous pouvez configurer la durée de conservation des métriques. Rendez-vous ici pour obtenir un exemple d’exportation de métriques de cache vers un compte de stockage.
Journaux de connexion
Azure Managed Redis utilise les paramètres de diagnostic Azure pour consigner des informations sur les connexions clientes à votre cache. La journalisation et l’analyse de ce paramètre de diagnostic vous permettent de comprendre qui se connecte à vos caches et fournissent le timestamp de ces connexions. Les données de journal peuvent être utilisées pour identifier l’étendue d’une violation de sécurité et pour effectuer un audit de sécurité.
Azure Managed Redis utilise la fonctionnalité d’audit des événements de connexion intégrée à la pile 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é.
Important
La journalisation dans Azure Managed Redis se concentre sur chaque événement de connexion. Les journaux se produisent uniquement lorsque l’événement réel s’est produit pour la première fois.
Prérequis/limitations de la journalisation des connexions
- 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. Les deux versions couvrent toujours toutes les connexions au cache. Il s’agit simplement d’une différence architecturale.
- La perte de données (c’est-à-dire 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 ne sont pas encore entièrement stables et les événements peuvent être manqués.
- Étant donné que les journaux de connexion sur Azure Managed Redis sont basés sur des événements, faites attention à vos stratégies de rétention. Par exemple, si la conservation des données est définie sur 10 jours et qu’un événement de connexion s’est produit il y a 15 jours, cette connexion peut toujours exister, mais le journal de cette connexion n’est pas conservé.
- Si vous utilisez la géoréplication active,la journalisation doit être configurée individuellement pour chaque instance de cache dans le groupe de géoréplication.
- Tous les paramètres de diagnostic peuvent prendre jusqu’à 90 minutes pour commencer à circuler vers la destination sélectionnée.
- L’activation des journaux de connexion peut entraîner une légère détérioration des performances de l’instance Redis.
Remarque
Il est toujours possible d’utiliser les commandes INFO ou CLIENT LIST pour vérifier qui est connecté à une instance de cache à la demande.
Important
Lorsque vous sélectionnez les journaux d’activité, vous pouvez choisir la catégorie ou les groupes de catégorie spécifiques, qui sont des regroupements prédéfinis de journaux d’activité sur les services Azure. Lorsque vous utilisez des groupes de catégories, vous ne pouvez plus configurer les paramètres de rétention. Si vous devez déterminer la durée de rétention de vos journaux de connexion, sélectionnez plutôt l’élément dans la section Catégories.
Destinations des journaux
Vous pouvez activer les paramètres de diagnostic pour les instances Azure Managed Redis et envoyer les journaux des ressources aux destinations suivantes :
- 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.
- Compte de stockage : Il doit se trouver dans la même région que le cache. Toutefois, les comptes de stockage Premium ne sont pas pris en charge en tant que destination.
- Event Hub : Les paramètres de diagnostic ne peuvent pas accéder aux ressources de l’Event Hub lorsque les réseaux virtuels sont activés. Activez le paramètre Autoriser les services Microsoft approuvés à contourner ce pare-feu ? dans les Event Hubs pour accorder l’accès aux ressources de votre Event Hub. L’Event Hub doit se trouver dans la même région que le cache.
- Solution partenaire : une liste des solutions de journalisation partenaires potentielles est disponible ici
Pour plus d’informations sur les exigences de diagnostic, consultez Paramètres de diagnostic.
Lorsque vous envoyez des journaux de diagnostic vers l’une ou l’autre destination, les tarifs de données normaux pour l’utilisation du compte de stockage et de l’Event Hub vous sont facturés. Vous êtes facturé sous Azure Monitor, et non sous Azure Managed Redis. Lorsque vous envoyez des journaux à Log Analytics, seule l’ingestion des données par Log Analytics vous est facturée.
Pour plus d’informations, consultez Tarification Azure Monitor.
Activer la journalisation des connexions à l’aide du portail Azure
Connectez-vous au portail Azure.
Accédez à votre compte Azure Managed Redis. Ouvrez le volet Paramètres de diagnostic – Audit sous la section Supervision à gauche. Sélectionnez ensuite Ajouter un paramètre de diagnostic.
Dans le volet Paramètre de diagnostic – Audit, sélectionnez Événements de connexion dans Catégories.
Pour plus d’informations sur les données journalisées, consultez Contenu des journaux de connexion ci-dessous.
Après avoir sélectionné les Événements de connexion, envoyez vos journaux à votre destination préférée. Sélectionnez les informations dans le volet de travail.
Activer la journalisation des connexions à l’aide de l’API REST
Utilisez l’API REST Azure Monitor pour créer un paramètre de diagnostic via la console interactive. Pour plus d’informations, voir Créer ou mettre à jour.
Requête
PUT https://management.azure.com/{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
headers
Paramètres/en-têtes | Valeur/description |
---|---|
name |
Nom de votre paramètre de diagnostic |
resourceUri |
subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP}/providers/Microsoft.Cache/RedisEnterprise/{CACHE_NAME}/databases/default |
api-version |
2017-05-01-preview |
Content-Type |
application/json |
Corps
{
"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
}
}
]
}
}
Activer la journalisation des connexions à l’aide d’Azure CLI
Pour créer un paramètre de diagnostic avec Azure CLI, utilisez la commande az monitor diagnostic-settings create
. Pour plus d’informations sur la commande et la description des paramètres, consultez Créer des paramètres de diagnostic pour envoyer des journaux et des métriques de plateforme à différentes destinations. Cet exemple 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/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 des journaux de connexion
Ces champs et propriétés s’affichent dans la catégorie journal 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 | Description |
---|---|---|
time |
TimeGenerated |
Horodatage (UTC) lors de la capture du journal des événements. |
location |
Location |
Emplacement (région) dans lequel l’accès à l’instance Azure Managed Redis s’est produit. |
category |
n/a | Catégories journal disponibles : ConnectionEvents . |
resourceId |
_ResourceId |
Ressource Azure Managed Redis pour laquelle les journaux sont activés. |
operationName |
OperationName |
Opération Redis associée à l’enregistrement de journal. |
properties |
n/a | Le contenu de ce champ est décrit dans les lignes suivantes. |
eventEpochTime |
EventEpochTime |
Horodatage UNIX (nombre de secondes depuis le 1er janvier 1970) lorsque l’événement s’est produit en UTC. L’horodatage peut être converti au format datetime à l’aide de 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 IPv6 de liaison privée en fonction du type de cache. Si vous utilisez Log Analytics, le résultat est toujours en IPv4, car un champ IPv6 distinct est fourni. |
n/a | PrivateLinkIPv6 |
Adresse IPv6 de liaison privée 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 requête d’authentification en tant que code d’état (applicable uniquement pour l’événement d’authentification). |
Notes
Si une liaison privée est utilisée, 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 en examinant les quatre derniers octets de données dans l’adresse IPv6. Par exemple, dans l’adresse IPv6 de liaison privée « fd40:8913:31:6810:6c31:200:a01:104 », les quatre derniers octets en hexadécimal sont « 0a », « 01 », « 01 » et « 04 ». (Notez que les zéros de début sont omis après chaque signe deux-points.) Ils correspondent à « 10 », « 1 », « 1 » et « 4 » en décimal, ce qui nous donne l’adresse IPv4 « 10.1.1.4 ».
Exemple de journal de compte de stockage
Si vous envoyez vos journaux à un compte de stockage, un journal d’un événement de connexion ressemble à ceci :
{
"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"
}
}
Et le journal d’un événement d’authentification ressemble à ceci :
{
"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
}
}
Et le journal d’un événement de déconnexion ressemble à ceci :
{
"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"
}
}
Étapes suivantes
Pour plus d’informations sur la création d’un paramètre de diagnostic à l’aide du portail Azure, de l’interface CLI ou de PowerShell, consultez l’article Créer un paramètre de diagnostic pour collecter des journaux et métriques de plateforme dans Azure.