Cette page explique comment utiliser des événements étendus (XEvents) sur vos instances.
Cloud SQL est compatible avec l'utilisation de XEvents pour surveiller, identifier et dépanner les performances de votre base de données. Pour ce faire, vous devez créer des sessions XEvent et lire les fichiers de sortie XEvent. Vous pouvez lire les fichiers de sortie XEvent sur l'instance ou en les téléchargeant à partir d'un bucket Cloud Storage.
Avant de commencer
Si vous souhaitez importer vos fichiers XEvent dans un bucket Cloud Storage, créez un bucket dans votre compte Google Cloud.
Bonnes pratiques
- Pour éviter de transférer des fichiers volumineux entre plusieurs régions, nous vous recommandons d'effectuer l'une des opérations suivantes :
- Créer des buckets Cloud Storage multirégionaux
- Configurer le bucket Cloud Storage de destination dans la même région que l'instance
- Avant d'utiliser XEvents, activez l'augmentation automatique de l'espace de stockage. Les fichiers de sortie XEvent, en fonction de leur taille totale et de leurs intervalles de conservation, peuvent nécessiter un espace disque important.
- Pour éviter de conserver trop de fichiers XEvent pendant une longue période, configurez une règle de conservation des données pour votre bucket Cloud Storage.
- Si vous créez une session XEvent à l'aide de l'UI SSMS, mais que certaines zones de valeurs d'entrée ne s'affichent pas, redimensionnez la fenêtre Create XEvent Session (Créer une session XEvent).
Créer des sessions XEvent
XEvents est automatiquement activé sur vos instances.
Utilisez la commande CREATE EVENT SESSION
pour définir de nouvelles sessions XEvent. Vous pouvez également utiliser l'interface utilisateur de SQL Server Management Studio (SSMS) pour créer des sessions XEvent.
Cloud SQL applique les paramètres suivants pour toutes les sessions XEvent :
Paramètre | Description | Valeurs autorisées |
FILENAME
|
Spécifie le nom de fichier et le chemin d'accès pour le stockage des données de session XEvents. | Tous les chemins commençant par /var/opt/mssql/xevents/
|
MAX_FILE_SIZE
|
Spécifie la taille maximale de chaque fichier de sortie avant la création d'un nouveau fichier. | 10 Mo minimum 1 Go maximum |
MAX_MEMORY
|
Spécifie la quantité maximale de mémoire à allouer à la session pour la mise en mémoire tampon des événements. | 4 Mo minimum 8 Mo maximum |
MAX_DISPATCH_LATENCY
|
Spécifie la durée maximale (en secondes) pendant laquelle les événements peuvent rester dans la file d'attente de distribution avant d'être envoyés à la cible. | 1 s minimum 30 s maximum |
MAX_EVENT_SIZE
|
Définit la taille maximale de chaque événement, en octets. | 4 Mo minimum 8 Mo maximum |
Paramètres de configuration de la session XEvent
Vous pouvez configurer des sessions XEvent en utilisant les paramètres suivants en tant qu'options personnalisées :
Paramètre | Description |
cloud sql xe bucket name
|
Spécifiez le bucket Cloud Storage dans lequel vous souhaitez importer la sortie de la session XEvent. Si cette valeur n'est pas spécifiée, Cloud SQL n'importe pas les données de sortie de session XEvent dans Cloud Storage. |
cloud sql xe output total disk size (mb)
|
Spécifiez la quantité d'espace disque à réserver pour le résultat de toutes les sessions XEvent. Si cette valeur n'est pas spécifiée, Cloud SQL utilise un espace disque par défaut de 512 Mo. Si les fichiers de sortie XEvent utilisent un espace disque supérieur à la valeur de cloud sql xe output total disk size (mb) , Cloud SQL supprime ces fichiers du disque.
|
cloud sql xe file retention (mins)
|
Spécifiez la durée de conservation de l'instance en minutes pour les fichiers générés par les cibles de fichiers des sessions XEvent. Si cette valeur n'est pas spécifiée, Cloud SQL utilise une valeur par défaut de 7 jours. |
cloud sql xe upload interval (mins)
|
Spécifiez l'intervalle d'importation pour les fichiers XEvent importés dans Cloud Storage. Si cette valeur n'est pas spécifiée, Cloud SQL utilise une valeur par défaut de 10 minutes. |
Pour en savoir plus sur la configuration de ces options, consultez la section Configurer des options de base de données.
Lire les fichiers de sortie de la session XEvent
Vous pouvez lire les fichiers de sortie de session XEvent à partir d'une instance Cloud SQL ou d'un bucket Cloud Storage.
Lire les fichiers de sortie XEvent à partir d'une instance
Pour récupérer les données d'un fichier XEvent créé par une session XEvent, utilisez la fonction sys.fn_xe_file_target_read_file
.
Exemple :
SELECT * FROM sys.fn_xe_file_target_read_file('/var/opt/mssql/xevents/filename*, NULL, NULL, NULL);
Lire les fichiers de sortie XEvent à partir d'un bucket
Pour lire les fichiers de sortie XEvent d'un bucket Cloud Storage, téléchargez-les sur une instance SQL Server. Vous pouvez effectuer le téléchargement depuis l'une des instances suivantes :
- Instance Windows Compute Engine
- Instance Linux Compute Engine
- Autre type d'instance exécutant SQL Server
Ensuite, transférez les fichiers de sortie XEvent du bucket vers un emplacement accessible à cette instance, tel que son disque local. Ensuite, pour renvoyer des informations à partir du fichier de sortie XEvent, exécutez la fonction sys.fn_xe_file_target_read_file
avec un compte disposant de l'autorisation VIEW SERVER STATE
sur le serveur. Pour en savoir plus sur les autorisations, consultez la page Autorisations.
Métriques de surveillance
Vous pouvez surveiller les opérations liées à xevent suivantes dans le cadre des métriques Cloud SQL, disponibles via l'explorateur de métriques:
- database/sqlserver/xevents_upload_count: indique le nombre total de tentatives d'importation de fichiers Xevent réussies et échouées. Consultez cette métrique pour vérifier si vos importations ont réussi.
- database/sqlserver/xevents_size: indique l'espace disque utilisé par les fichiers xevent stockés sur l'instance, en octets.
Surveiller les sessions XEvent
Vous pouvez surveiller les activités liées à la session XEvent via le fichier xevents.log
pour les opérations suivantes :
- Les fichiers de sortie XEvent supprimés du disque, qui n'ont pas été importés dans Cloud Storage et occupaient un espace disque supérieur à la valeur associée à
cloud sql xe output total disk size (mb)
. - Les fichiers de sortie XEvent supprimés du disque, qui n'ont pas été importés dans Cloud Storage et sont antérieurs à la valeur associée à
cloud sql xe file retention
.
Éléments à prendre en compte pour les instances répliquées avec accès en lecture
Cette section contient des informations sur les sessions XEvent pour les instances répliquées avec accès en lecture nouvelles et existantes.
Pour les nouvelles instances répliquées avec accès en lecture
- Tous les paramètres de configuration de session XEvent transmis via des options de base de données sur l'instance d'origine sont disponibles sur l'instance répliquée avec accès en lecture qui vient d'être créée.
- Toutes les sessions XEvent présentes sur l'instance d'origine lors de la création des instances répliquées avec accès en lecture sont disponibles sur l'instance répliquée avec accès en lecture. Notez que les sessions XEvent sur l'instance répliquée avec accès en lecture doivent être démarrées manuellement, sauf si elles sont configurées pour démarrer automatiquement. Pour en savoir plus, consultez la section Créer des sessions XEvent.
- Si vous clonez une instance principale, toutes les options de base de données qui apparaissent sur l'instance principale sont propagées vers l'instance clonée. En outre, vous devez accorder des autorisations au compte de service de l'instance clonée pour accéder de nouveau au bucket Cloud Storage.
Pour les instances répliquées existantes avec accès en lecture
- Les paramètres de configuration de session XEvent transmis par le biais d'options de base de données à l'instance d'origine ne sont pas propagés aux instances répliquées avec accès en lecture.
- Les sessions XEvent créées sur l'instance d'origine ne sont pas propagées aux instances répliquées avec accès en lecture.