Collect more metrics from the SQL Server integration
Overview
By default, the SQL Server integration only collects the metrics listed in the documentation page
. But you can collect additional metrics from your SQL Server integration by configuring your sqlserver.d/conf.yaml
following the syntax in our example file
(these goes under “init_config”).
At this time, the Datadog sqlserver check only queries data from the sys.dm_os_performance_counters
table, although you can use WMI to expose metrics
from other counter tables. To collect specific data, find counter_name
and, when applicable, instance_name
to correspond to the metric you’re interested in collecting. Once you access your server from powershell’s sqlcmd
, run the following or similar query to get a list of what count_names
are available in that table in your SQL Server.
Note: This returns a long list.
1> SELECT counter_name, instance_name, cntr_value, cntr_type FROM sys.dm_os_performance_counters;
2> go
From there you can pick out the counter_names that are most interesting to you, add them to your custom metric section of the sqlserver.yaml in the “counter_name” options, and give your metric an appropriate name in the “- name:” options (you may want to start them with “sqlserver.” like all the other sqlserver metrics).
Example
An example of what your sqlserver.d/conf.yaml
might look like if you wanted to collect metrics for the CLR Execution, Queued requests, and Active requests properties is as follows:
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