Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zensqlmonitor/influxdb-sqlserver
Collect Microsoft SQL Server metrics for reporting to InfluxDB and visualize them with Grafana
https://github.com/zensqlmonitor/influxdb-sqlserver
grafana influxdb sqlserver
Last synced: 3 months ago
JSON representation
Collect Microsoft SQL Server metrics for reporting to InfluxDB and visualize them with Grafana
- Host: GitHub
- URL: https://github.com/zensqlmonitor/influxdb-sqlserver
- Owner: zensqlmonitor
- License: mit
- Created: 2015-12-30T22:37:32.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-06T08:29:16.000Z (about 1 year ago)
- Last Synced: 2024-08-02T07:10:38.873Z (6 months ago)
- Topics: grafana, influxdb, sqlserver
- Language: Go
- Homepage:
- Size: 9.77 MB
- Stars: 72
- Watchers: 12
- Forks: 30
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-influxdb - influxdb-sqlserver - Collect Microsoft SQL Server metrics for reporting to InfluxDB and visualize them with Grafana (Collecting data into InfluxDB / Projects)
README
[Twitter](https://twitter.com/zensqlmonitor) |
[Email](mailto:[email protected])# influxdb-sqlserver
Collect Microsoft SQL Server metrics, send to InfluxDB and visualize with Grafana![influxdb-grafana](https://cloud.githubusercontent.com/assets/16494280/13547132/aca6b6ca-e2c5-11e5-9f97-d6ff90918daa.png)
## Getting Started
- InfluxDB:
- [Install InfluxDB](https://influxdb.com/docs/v0.9/introduction/installation.html)
- [Create database SQLSERVER](https://influxdb.com/docs/v0.9/introduction/getting_started.html)
- Grafana:
- [Install Grafana](http://docs.grafana.org/installation/)
- Import dashboard from file provided in the [repository](https://github.com/zensqlmonitor/influxdb-sqlserver/tree/master/grafana)
- influxdb-sqlserver:
- [Install GO](https://golang.org/doc/install)
- [Setup you GOPATH](https://golang.org/doc/code.html#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:
```SQL
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
- Go 1.5
- Microsoft SQL server driver (https://github.com/denisenkom/go-mssqldb)
- TOML parser (https://github.com/BurntSushi/toml)### 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](https://influxdb.com/docs/v0.9/write_protocols/line.html)## License
MIT-LICENSE. See LICENSE file provided in the repository for details