Skip to content

Collect Microsoft SQL Server metrics for reporting to InfluxDB and visualize them with Grafana

License

Notifications You must be signed in to change notification settings

zensqlmonitor/influxdb-sqlserver

Repository files navigation

Twitter | Email

influxdb-sqlserver

Collect Microsoft SQL Server metrics, send to InfluxDB and visualize with Grafana

influxdb-grafana

Getting Started

  • InfluxDB:
  • Grafana:
  • influxdb-sqlserver:
    • Install GO
    • Setup you GOPATH
    • Run go get github.com/zensqlmonitor/influxdb-sqlserver
    • Edit the configuration to match your needs
  • SQL Server:
    • Create a login - with a strong password - in every SQL Server instance you want to monitor:
     USE master; 
     GO
     CREATE LOGIN [linuxuser] WITH PASSWORD = N'mystrongpassword';
     GO
     GRANT VIEW SERVER STATE TO [linuxuser]; 
     GO
     GRANT VIEW ANY DEFINITION TO [linuxuser]; 
     GO

How to use GO code

  • Run in background: go run influxdb-sqlserver.go &
  • Build in the current directory: go build influxdb-sqlserver.go
  • Install in $GOPATH/bin: go install influxdb-sqlserver.go

Dependencies

Command-line flags

-config (string) = the configuration filepath in toml format (default="influxdb-sqlserver.conf")
-h = usage

T-SQL Scripts provided

Scripts provided are lightweight and use Dynamic Management Views supplied by SQL Server

  • getperfcounters.sql: 1000+ metrics from sys.dm_os_performance_counters
  • getperfmetrics.sql: some special performance metrics
  • getwaitstatscat.sql: list of wait tasks categorized from sys.dm_os_wait_stats
  • getmemoryclerksplit.sql: memory breakdown from sys.dm_os_memory_clerks
  • getmemory.sql: available and used memory from sys.dm_os_sys_memory
  • getdatabasesizetrend.sql: database size trend, datafile and logfile from sys.dm_io_virtual_file_stats
  • getdatabaseio.sql: database I/O from sys.dm_io_virtual_file_stats
  • getcpu.sql: cpu usage from sys.dm_os_ring_buffers
Note

influxdb-sqlserver uses InfluxDB line protocol. If you add a sql query you have to return one column formatted with this protocol. For more details, see scripts provided in the repository and the InfluxDB documentation

License

MIT-LICENSE. See LICENSE file provided in the repository for details

About

Collect Microsoft SQL Server metrics for reporting to InfluxDB and visualize them with Grafana

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published