Info
License: Free — part of the universal collection tier.
Microsoft SQL Server¶
The mssql probe monitors SQL Server health and throughput via
sys.dm_os_performance_counters, sys.databases and
sys.dm_io_virtual_file_stats, with OTel-first metric naming aligned with
the OpenTelemetry Collector contrib sqlserverreceiver.
Quick start¶
# probes.d/20-mssql.yaml — each file under probes.d/ is a YAML array of probes
- name: mssql
type: mssql
params:
host: localhost
username: sa
password: ${secret:mssql.password} # OS secret store; inline plaintext is auto-sealed on install
Parameters¶
| Parameter | Default | Description |
|---|---|---|
host |
required | SQL Server hostname or IP |
port |
1433 |
SQL Server TCP port |
username |
— | SQL Server login. Omit for Windows Integrated Authentication (the agent's OS account is used) |
password |
— | Password for SQL login — reference a stored secret via ${secret:<name>.password}, ${env:VAR} or ${file:/path}. Inline plaintext is auto-sealed into the OS secret store on install. |
Metrics¶
| Metric | Unit | Description |
|---|---|---|
senhub.db.up |
1 | 1 when the agent's most recent ping reached the server |
sqlserver.batch_request.rate |
{request}/s | Batch requests per second |
sqlserver.transaction.rate |
{transaction}/s | Transactions per second |
sqlserver.connections.open |
{connection} | Open connections |
sqlserver.buffer_cache_hit_ratio |
% | Buffer cache hit ratio (data pages found in memory) |
sqlserver.page.life_expectancy |
s | Estimated page life expectancy in the buffer pool |
sqlserver.lock.wait_time.avg |
ms | Average lock wait time |
sqlserver.deadlock.rate |
{deadlock}/s | Deadlocks per second |
sqlserver.database.state |
1 | Database state per database (1 = ONLINE), tagged with database |
sqlserver.database.io.read |
By | I/O bytes read per database |
sqlserver.database.io.write |
By | I/O bytes written per database |
Operational notes¶
- The monitoring account needs
VIEW SERVER STATEandVIEW DATABASE STATEpermissions. A minimal-privilege account is recommended oversa. - Windows Integrated Authentication (omit
username/password) works when the agent runs under a domain account with the required SQL Server permissions. - For SQL Server on a named instance, use
host: server\InstanceName.