Skip to content

Latest commit

 

History

History
77 lines (57 loc) · 2.83 KB

README.md

File metadata and controls

77 lines (57 loc) · 2.83 KB

Twitter | Email

influxdb-sqlserver

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

influxdb-grafana

Getting Started

  • InfluxDB:
  • Grafana:
  • influxdb-sqlserver:
  • 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