Microsoft SQL Server

L'intégration Microsoft SQL Server collecte les transactions, connexions et autres métriques à partir de vos instances SQL Server.

Pour en savoir plus sur SQL Server, consultez la documentation de SQL Server.

Avant de commencer

La version 2.15.0 de l'agent Ops introduit la prise en charge d'un nouvel ensemble de métriques SQL Server à l'aide du préfixe workload.googleapis.com/. Vous devez configurer l'agent pour collecter ces métriques, comme décrit dans la section Exemple de configuration.

L'agent Ops a toujours accepté un ensemble limité de métriques SQL Server. Ces métriques utilisent le préfixe agent.googleapis.com/mssql/. Aucune configuration supplémentaire n'est requise pour collecter ces métriques sur des VM Windows.

Ce document fait référence aux métriques portant le préfixe agent en tant que métriques v1 et aux métriques portant le préfixe workload en tant que métriques v2.

  • Les métriques v1 incluent des informations sur le taux de transaction et le nombre de connexions.
  • Les métriques v2 incluent des informations de lot, de verrou, de page et de nombre de connexions utilisateur au niveau de l'instance, ainsi que des informations de transaction et de journal des transactions au niveau de la base de données.

Pour obtenir les tableaux de ces métriques, consultez la section Métriques surveillées.

À partir de la version 2.15.0 de l'agent Ops, vous pouvez configurer l'agent pour collecter des métriques v1, v2 ou les deux.

Prérequis

Pour collecter la télémétrie SQL Server, vous devez installer l'agent Ops :

  • Pour les métriques v1, installez la version 1.0.0 ou ultérieure.
  • Pour les métriques v2, installez la version 2.15.0 ou ultérieure.

Cette intégration est compatible avec les versions 11.x, 12.x, 13.x, 14.x et 15.x de SQL Server.

Configurer l'agent Ops pour SQL Server

Lorsque vous utilisez l'agent Ops sur une VM Microsoft Windows, il collecte automatiquement les métriques SQL Server v1. Aucune configuration supplémentaire n'est requise.

En suivant le guide de configuration de l'agent Ops, ajoutez les éléments requis pour collecter les données de télémétrie des instances SQL Server, puis redémarrez l'agent.

Après avoir configuré une nouvelle instance SQL Server, vous ne verrez peut-être pas immédiatement les métriques s'afficher dans l'explorateur de métriques. L'agent Ops ne commence à collecter des métriques SQL Server une fois qu'une activité de base de données est à signaler.

Exemple de configuration

La commande suivante crée la configuration permettant de collecter et d'ingérer la télémétrie pour SQL Server et redémarre l'agent Ops.

$ErrorActionPreference = 'Stop'

# This config gets merged with the built-in Ops Agent config, which already
# includes the v1 receiver in the default pipeline.
# Because the v2 receiver here uses a unique ID, it does not overwrite
# the default receiver and so both receivers will be active simultaneously
# during the test.

# Create a back up of the existing file so existing configurations are not lost.
Copy-Item -Path 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' -Destination 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml.bak'

# Configure the Ops Agent.
Add-Content 'C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml' "
metrics:
  receivers:
    mssql_v2:
      type: mssql
      receiver_version: 2
  service:
    pipelines:
      mssql_v2:
        receivers:
        - mssql_v2
"

# Stop-Service may fail if the service isn't in a Running state yet.
(Get-Service google-cloud-ops-agent*).WaitForStatus('Running', '00:03:00')
Stop-Service google-cloud-ops-agent -Force
Start-Service google-cloud-ops-agent*

Configurer la collecte de métriques v1

L'agent Ops sur une VM Microsoft Windows collecte automatiquement les métriques SQL Server v1. Aucune configuration supplémentaire n'est requise. Pour en savoir plus sur la collecte des métriques v2 uniquement, consultez la section Configurer la collecte des métriques v2.

Une fois que vous avez configuré une nouvelle instance SQL Server, il est possible que SQL Server ne transmette pas immédiatement de métriques. L'agent Ops commence à collecter des métriques SQL Server une fois qu'une activité de base de données est à signaler.

Configurer la collecte de métriques v2

Pour ingérer des métriques v2 à partir de SQL Server, vous devez créer un récepteur pour les métriques produites par SQL Server, puis créer un pipeline pour le nouveau récepteur.

Ce récepteur ne permet pas d'utiliser plusieurs instances dans la configuration, par exemple pour surveiller plusieurs points de terminaison. Toutes ces instances écrivent dans la même série temporelle, et Cloud Monitoring n'a aucun moyen de les distinguer. L'agent Ops n'est pas compatible avec les instances nommées SQL Server.

Pour configurer un récepteur pour vos métriques mssql, spécifiez les champs suivants :

Champ Par défaut Description
collection_interval 60s Une valeur time.Duration, telle que 30s ou 5m.
receiver_version Version des métriques collectées. Utilisez 2 pour collecter des métriques v2.
type Cette valeur doit être mssql.

Par défaut, les métriques v1 sont collectées automatiquement. Vous pouvez étendre les métriques v1 en collectant également les métriques v2, ou vous pouvez ignorer les métriques v1 pour ne collecter que les métriques v2.

  • Pour collecter uniquement les métriques v2, procédez comme suit :

    • Nommez votre récepteur mssql.
    • Définissez le champ type sur mssql.
    • Définissez le champ receiver_version sur 2.
    • Utilisez ce récepteur dans votre pipeline default_pipeline. Cette configuration remplace la configuration intégrée du récepteur mssql.
  • Pour collecter les métriques v1 et v2, procédez comme suit :

    • Attribuez un nom autre que mssql à votre récepteur, par exemple mssql_v2.
    • Définissez le champ type sur mssql.
    • Définissez receiver_version sur 2.
    • Utilisez ce récepteur dans votre nouveau pipeline. Cette configuration ajoute un récepteur v2 au lieu de remplacer le récepteur intégré. Le script de la section Exemple de configuration utilise cette approche.

Métriques surveillées

À partir de la version 2.15.0, l'agent Ops peut collecter deux ensembles de métriques différents :

  • Les métriques v1 : agent.googleapis.com/mssql/.
  • Les métriques v2 : workload.googleapis.com/.
Métriques V1

Le tableau suivant fournit la liste des métriques v1 collectées par l'agent Ops à partir de l'instance SQL Server.

Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe agent.googleapis.com/mssql/. Ce préfixe a été omis dans les entrées du tableau. Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels. (par exemple, metric.labels.LABEL="VALUE").

Type de métrique Étape de lancement(Niveaux de la hiérarchie des ressources)
Nom à afficher
Genre, type, unité
Ressources surveillées
Description
Libellés
connections/user GA(project)
Connexions ouvertes de SQL Server
GAUGEDOUBLE1
aws_ec2_instance
gce_instance
Connexions actuellement ouvertes à SQL Server. Échantillonné toutes les 60 secondes.
transaction_rate GA(projet)
Taux de transaction SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Nombre total de transactions SQL Server par seconde. Échantillonné toutes les 60 secondes.
write_transaction_rate GA (projet)
Taux de transaction en écriture SQL Server
GAUGEDOUBLE1/s
aws_ec2_instance
gce_instance
Nombre de transactions SQL Server en écriture par seconde. Échantillonné toutes les 60 secondes.

Tableau généré le 26-09-2024 à 21:35:08 UTC.

Métriques V2

Le tableau suivant fournit la liste des métriques v2 collectées par l'agent Ops à partir de l'instance SQL Server.

Type de métrique
Genre, type
Ressources surveillées
Étiquettes
workload.googleapis.com/sqlserver.batch.request.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_compilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.batch.sql_recompilation.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.lock.wait_time.avg
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.buffer_cache.hit_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.checkpoint.flush.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.lazy_write.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.page.life_expectancy
GAUGEINT64
gce_instance
 
workload.googleapis.com/sqlserver.page.operation.rate
GAUGEDOUBLE
gce_instance
type
workload.googleapis.com/sqlserver.page.split.rate
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/sqlserver.transaction.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction.write.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.data.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.flush.wait.rate
GAUGEDOUBLE
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.growth.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.percent_used
GAUGEINT64
gce_instance
database
workload.googleapis.com/sqlserver.transaction_log.shrink.count
CUMULATIVEINT64
gce_instance
database
workload.googleapis.com/sqlserver.user.connection.count
GAUGEINT64
gce_instance
 

Vérifier la configuration

Cette section explique comment vérifier que le récepteur SQL Server est correctement configuré. La collecte de la télémétrie par l'agent Ops peut prendre une ou deux minutes.

Pour vérifier que les métriques SQL Server sont envoyées à Cloud Monitoring, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Explorateur de métriques :

    Accéder à l'explorateur de métriques

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé  MQL ou  PromQL.
  3. Vérifiez que MQL est sélectionné dans le bouton d'activation Langage. Le bouton de langage se trouve dans la barre d'outils qui vous permet de mettre en forme votre requête.
    • Pour les métriques v1, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter la requête :
      fetch gce_instance
      | metric 'agent.googleapis.com/mssql/connections/user'
      | every 1m
      
    • Pour les métriques v2, saisissez la requête suivante dans l'éditeur, puis cliquez sur Exécuter :
      fetch gce_instance
      | metric 'workload.googleapis.com/sqlserver.user.connection.count'
      | every 1m
      

Afficher le tableau de bord

Pour afficher vos métriques SQL Server, vous devez configurer un graphique ou un tableau de bord. L'intégration SQL Server inclut un ou plusieurs tableaux de bord. Tous les tableaux de bord sont automatiquement installés après la configuration de l'intégration et que l'agent Ops a commencé à collecter des données de métriques.

Vous pouvez également afficher des aperçus statiques de tableaux de bord sans installer l'intégration.

Pour afficher un tableau de bord installé, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Tableaux de bord .

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Sélectionnez l'onglet Liste des tableaux de bord, puis choisissez la catégorie Intégrations.
  3. Cliquez sur le nom du tableau de bord que vous souhaitez afficher.

Si vous avez configuré une intégration, mais que le tableau de bord n'a pas été installé, vérifiez que l'agent Ops est en cours d'exécution. Lorsqu'un graphique ne contient aucune donnée de métrique, l'installation du tableau de bord échoue. Une fois que l'agent Ops a commencé à collecter des métriques, le tableau de bord est installé.

Pour afficher un aperçu statique du tableau de bord, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Intégrations  :

    Accéder à la page Intégrations

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur le filtre de plate-forme de déploiement Compute Engine.
  3. Localisez l'entrée correspondant à SQL Server et cliquez sur Afficher les détails.
  4. Cliquez sur l'onglet Tableaux de bord pour afficher un aperçu statique. Si le tableau de bord est installé, vous pouvez y accéder en cliquant sur Afficher le tableau de bord.

Pour en savoir plus sur les tableaux de bord dans Cloud Monitoring, consultez la page Tableaux de bord et graphiques.

Pour en savoir plus sur l'utilisation de la page Intégrations, consultez la page Gérer les intégrations.

Installer des règles d'alerte

Les règles d'alerte indiquent à Cloud Monitoring de vous avertir lorsque des conditions spécifiées se produisent. L'intégration SQL Server inclut une ou plusieurs règles d'alerte. Vous pouvez afficher et installer ces règles d'alerte à partir de la page Intégrations dans Monitoring.

Pour afficher la description des règles d'alerte disponibles et les installer, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Intégrations  :

    Accéder à la page Intégrations

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Localisez l'entrée correspondant à SQL Server et cliquez sur Afficher les détails.
  3. Sélectionnez l'onglet Alertes. Cet onglet fournit une description des règles d'alerte disponibles et fournit une interface pour les installer.
  4. Installez les règles d'alerte. Les règles d'alerte doivent savoir où envoyer des notifications indiquant que l'alerte a été déclenchée. Elles nécessitent donc des informations de votre part pour l'installation. Pour installer des règles d'alerte, procédez comme suit :
    1. Dans la liste des règles d'alerte disponibles, sélectionnez celles que vous souhaitez installer.
    2. Dans la section Configurer les notifications, sélectionnez un ou plusieurs canaux de notification. Vous avez la possibilité de désactiver l'utilisation des canaux de notification. Toutefois, si vous le faites, vos règles d'alerte se déclenchent en mode silencieux. Vous pouvez vérifier leur état dans Monitoring, mais vous ne recevez aucune notification.

      Pour plus d'informations sur les canaux de notification, consultez la section Gérer les canaux de notification.

    3. Cliquez sur Créer des règles.

Pour plus d'informations sur les règles d'alerte dans Cloud Monitoring, consultez la section Présentation des alertes.

Pour en savoir plus sur l'utilisation de la page Intégrations, consultez la page Gérer les intégrations.

Étape suivante

Pour accéder à un tutoriel pas à pas expliquant comment utiliser Ansible pour installer l'agent Ops, configurer une application tierce et installer un exemple de tableau de bord, consultez la vidéo Install the Ops Agent to troubleshoot third-party applications (Installer l'agent Ops pour résoudre les problèmes liés à des applications tierces).