Prometheus exporter for Azure SQL metrics. See this post for details.
Metrics are collected from each database using SQL so this could easily be modified or extended to support SQL Server though it may have better metrics exporting natively than through SQL.
Databases are only queries when fetching /metrics from the exporter so that you may control the interval from your scrape_config section in Prometheus.
go get -u github.com/iamseth/azure_sql_exporter
Usage of azure_sql_exporter:
-config.file string
Specify the config file with the database credentials. (default "./config.yaml")
-log.level value
Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal, panic]. (default info)
-web.listen-address string
Address to listen on for web interface and telemetry. (default ":9139")
-web.telemetry-path string
Path under which to expose metrics. (default "/metrics")
This exporter requires a configuration file. By default, it will look for the config.yaml file in the CWD and can be specified with the -config.file parameter.
The file is in YAML format and contains the information for connecting to the databases you want to export. This file will contain sensitive information so make sure your configuration management locks down access to this file (chmod [46]00) and it is encouraged to create an SQL user with the least amount of privilege.
databases:
- name: Sales
user: prometheus
port: 1433
password: str0ngP@sswordG0esHere
server: salesdb.database.windows.net
- name: Inventory
user: prometheus
port: 1433
password: str0ngP@sswordG0esHere
server: inventorydb.database.windows.net
Pre-compiled versions may be found in the release section.