Recueillir des métriques supplémentaires à partir de l'intégration SQL Server

Présentation

Par défaut, l’intégration SQL Server recueille uniquement les métriques répertoriées sur la page de la documentation dédiée . Il est toutefois possible de recueillir des métriques supplémentaires en configurant votre fichier sqlserver.d/conf.yaml. Pour ce faire, suivez la syntaxe de notre fichier d’exemple (en ajoutant votre code sous init_config).

À l’heure actuelle, le check sqlserver Datadog interroge uniquement les données de la table sys.dm_os_performance_counters . Il est néanmoins possible d’utiliser WMI pour exposer les métriques d’autres tables counter. Pour recueillir des données spécifiques, recherchez le counter_name et, le cas échéant, le instance_name de la métrique que vous souhaitez récupérer. Après avoir accédé à votre serveur à partir de l’utilitaire sqlcmd de powershell , exécutez ce qui suit, ou une requête similaire, pour obtenir la liste des count_names disponibles dans cette table de votre SQL Server.

Remarque : la liste renvoyée contient de nombreux éléments.

1> SELECT counter_name, instance_name, cntr_value, cntr_type FROM sys.dm_os_performance_counters;
2> go

Vous pouvez alors noter les counter_names qui vous intéressent le plus, les ajouter à la section dédiée aux métriques custom du fichier sqlserver.yaml (dans les options counter_name), puis attribuer un nom approprié à votre métrique dans les options « - name: ». Il peut être utile d’ajouter « sqlserver. » devant le nom des métriques, comme pour toutes les autres métriques sqlserver.

Exemple

L’exemple de fichier sqlserver.d/conf.yaml suivant permet de recueillir des métriques relatives aux propriétés de l’exécution CLR, des requêtes en attente et des requêtes actives :

init_config:

  custom_metrics:

    - name: sqlserver.clr.execution
      counter_name: CLR Execution
    - name: sqlserver.requests.queued
      counter_name: Queued requests
      instance_name: internal
    - name: sqlserver.requests.active
      counter_name: Active requests
      instance_name: internal

instances:
  - host: 127.0.0.1,1433
    username: datadog
    password: *******
    tags:
      - test:sqlserver