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