SQL Server

Supported OS Linux Mac OS Windows

Graphique SQL Server

Présentation

Le check SQL Server surveille les performances de vos instances SQL Server. Il recueille des métriques concernant le nombre de connexions utilisateur, le nombre de compilations SQL, et plus encore.

Vous pouvez également créer vos propres métriques en demandant au check d’exécuter des requêtes personnalisées.

Configuration

Installation

Le check SQL Server est inclus avec le package de l’Agent Datadog. Vous n’avez donc rien d’autre à installer sur vos instances SQL Server.

Vérifiez que votre instance SQL Server prend en charge l’authentification SQL Server en activant « Mode d’authentification SQL Server et Windows » dans les propriétés du serveur :

Propriétés -> Sécurité -> Mode d’authentification SQL Server et Windows

Prérequis

  1. Créez un utilisateur en lecture seule pour vous connecter à votre serveur :

        CREATE LOGIN datadog WITH PASSWORD = '<PASSWORD>';
        CREATE USER datadog FOR LOGIN datadog;
        GRANT SELECT on sys.dm_os_performance_counters to datadog;
        GRANT VIEW SERVER STATE to datadog;
    
  2. Assurez-vous que votre instance SQL Server effectue son écoute sur un port fixe spécifique. Par défaut, les instances nommées et SQL Server Express sont configurés pour utiliser des ports dynamiques. Consultez la documentation de Microsoft pour en savoir plus.

  3. Cette étape est obligatoire pour les métriques AlwaysOn. Une autorisation supplémentaire doit être accordée pour rassembler des métriques AlwaysOn :

        GRANT VIEW ANY DEFINITION to datadog;
    

Configuration

Host

Pour configurer ce check lorsque l’Agent est exécuté sur un host :

  1. Modifiez le fichier sqlserver.d/conf.yaml dans le dossier conf.d/ à la racine du répertoire de configuration de votre Agent. Consultez le fichier d’exemple sqlserver.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

    init_config:
    
    instances:
      - host: "<SQL_HOST>,<SQL_PORT>"
        username: datadog
        password: "<YOUR_PASSWORD>"
        connector: odbc # alternative is 'adodbapi'
        driver: SQL Server
    

    Consultez un exemple de configuration du check pour obtenir une description complète de toutes les options, mais également pour découvrir comment utiliser les requêtes personnalisées pour créer vos propres métriques.

    Remarque : le fournisseur (par défaut) SQLOLEDB est déconseillé. Pour utiliser le nouveau fournisseur MSOLEDBSQL, définissez la variable adoprovider sur MSOLEDBSQL dans votre fichier sqlserver.d/conf.yaml après avoir téléchargé le nouveau fournisseur depuis Microsoft. Vous pouvez également utiliser l’authentification Windows sans fournir de nom d’utilisateur ni de mot de passe en indiquant ce qui suit :

    connection_string: "Trusted_Connection=yes"
    
  2. Redémarrez l’Agent.

Linux

Des étapes de configuration supplémentaires sont requises pour exécuter l’intégration SQL Server sur un host Linux :

  1. Installez un pilote SQL Server ODBC, comme Microsoft ODBC Driver.
  2. Copiez les fichiers odbc.ini et odbcinst.ini dans le dossier /opt/datadog-agent/embedded/etc.
  3. Modifiez le fichier conf.yaml de façon à utiliser le connecteur odbc et indiquez le pilote approprié, comme indiqué dans le fichier odbcinst.ini.
Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

  1. La collecte de logs est désactivée par défaut dans l’Agent Datadog. Vous devez l’activer dans datadog.yaml :

    logs_enabled: true
    
  2. Ajoutez ce bloc de configuration à votre fichier sqlserver.d/conf.yaml pour commencer à recueillir vos logs SQL Server :

    logs:
      - type: file
        encoding: utf-16-le
        path: "<LOG_FILE_PATH>"
        source: sqlserver
        service: "<SERVICE_NAME>"
    

    Modifiez les valeurs des paramètres path et service en fonction de votre environnement. Consultez le fichier d’exemple sqlserver.d/conf.yaml pour découvrir toutes les options de configuration disponibles.

  3. Redémarrez l’Agent.

Consultez la documentation de Datadog pour découvrir comment configurer l’Agent afin de recueillir les logs dans un environnement Kubernetes.

Environnement conteneurisé

Consultez la documentation relative aux modèles d’intégration Autodiscovery pour découvrir comment appliquer les paramètres ci-dessous à un environnement conteneurisé.

Collecte de métriques
ParamètreValeur
<NOM_INTÉGRATION>sqlserver
<CONFIG_INIT>vide ou {}
<CONFIG_INSTANCE>{"host": "%%host%%,%%port%%", "username": "datadog", "password": "<MOTDEPASSEUNIQUE>", "connector": "odbc", "driver": "FreeTDS"}

Consultez la documentation relative aux template variables Autodiscovery pour découvrir comment transmettre <MOTDEPASSEUNIQUE> en tant que variable d’environnement plutôt que sous forme d’étiquette.

Collecte de logs

Disponible à partir des versions > 6.0 de l’Agent

La collecte des logs est désactivée par défaut dans l’Agent Datadog. Pour l’activer, consultez la section Collecte de logs avec Kubernetes.

ParamètreValeur
<CONFIG_LOG>{"source": "sqlserver", "service": "sqlserver"}

Validation

Lancez la sous-commande status de l’Agent et cherchez sqlserver dans la section Checks.

Données collectées

Métriques

La plupart de ces métriques proviennent de la table sys.dm_os_performance_counters de SQL Server.

Événements

Le check SQL Server n’inclut aucun événement.

Checks de service

sqlserver.can_connect :
Renvoie CRITICAL si l’Agent ne parvient pas à se connecter à SQL Server pour recueillir des métriques. Si ce n’est pas le cas, renvoie OK.

Dépannage

Besoin d’aide ? Contactez l’assistance Datadog.

Développement

Consultez la documentation principale sur les outils de développement pour découvrir comment tester et développer des intégrations reposant sur l’Agent.

Pour aller plus loin

PREVIEWING: may/embedded-workflows