Surveiller les données d’Azure Cache pour Redis à l’aide de paramètres de diagnostic
Article
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 Cache pour Redis, deux options sont disponibles pour journaliser :
Azure Cache pour 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é.
Différences entre les niveaux Azure Cache pour Redis
L’implémentation des journaux de connexion est légèrement différente d’un niveau à l’autre :
Les caches de niveau De base, Standard et Premium interrogent les connexions clientes par adresse IP, y compris le nombre de connexions provenant de chaque adresse IP unique. Les journaux ne sont pas cumulatifs. Ils représentent des instantanés ponctuels pris à intervalles de dix secondes. Les événements d’authentification (réussite et échec) et de déconnexion ne sont pas enregistrés dans ces niveaux.
Les caches de niveau Enterprise et Enterprise Flash utilisent la fonctionnalité d’événements 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é.
Les journaux de connexion produits se ressemblent d’un niveau à l’autre, mais présentent certaines différences. Les deux formats sont présentés plus en détail plus loin dans l’article.
Important
La journalisation des connexions aux niveaux De base, Standard et Premium interroge les connexions clientes actuelles dans le cache. Les mêmes adresses IP clientes apparaissent encore et encore. La journalisation dans les niveaux Enterprise et Enterprise Flash est axée 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
Niveaux De base, Standard et Premium
Étant donné que les journaux de connexion de ces niveaux se composent d’instantanés à un point dans le temps pris toutes les 10 secondes, les connexions établies et supprimées entre des intervalles de 10 secondes ne sont pas journalisées.
Les événements d’authentification ne sont pas consignés.
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 de cache.
Seul le plan tarifaire Journaux Analytics est pris en charge lors de la diffusion en continu des journaux vers Azure Log Analytics. Pour plus d’informations, consultez Tarification Azure Monitor.
Niveaux Entreprise et Enterprise Flash
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 des niveaux Enterprise 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égradation des performances de l’instance de cache.
Notes
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 Cache pour 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.
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
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 Cache pour Redis. Lorsque vous envoyez des journaux à Log Analytics, seule l’ingestion des données par Log Analytics vous est facturée.
Accédez à votre compte Azure Cache pour Redis. Ouvrez le volet Paramètres de diagnostic sous la section Supervision à gauche. Sélectionnez ensuite Ajouter un paramètre de diagnostic.
Dans le volet Paramètres de diagnostic, sélectionnez ConnectedClientList dans Catégories.
Après avoir sélectionné ConnectedClientList, envoyez vos journaux à votre destination préférée. Sélectionnez les informations dans le volet de travail.
Accédez à votre compte Azure Cache pour 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.
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
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
Ces champs et propriétés 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
Description
time
TimeGenerated
Timestamp de la date à laquelle le journal a été généré, en UTC.
location
Location
Emplacement (région) dans lequel l’accès à l’instance Azure Cache pour Redis a été effectué.
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 Cache pour Redis a été effectué.
Ressource Azure Cache pour 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 :