Azure SQL Exporter

Prometheus exporter for Azure SQL metrics. See this post for details.
This is a fork from iamseth and benclapp.
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.
Usage
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")
Configuration
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 a discover database on a database server, usually the master database.
For backwards compatibility, this file can contain sensitive information,
so it should be protected accordingly.
The exporter requires the server roles ##MS_DatabaseConnector## and ##MS_ServerStateReader##.
dbserver:
name: master # the discovery database
user: prometheus
port: 1433
password: str0ngP@sswordG0esHere
server: salesdb.database.windows.net
or better use Workload Identity
with an annotated service account and set the environment variable AZURE_CLIENT_ID and AZURE_TENANT_ID.
dbserver:
name: master # the discovery database
server: salesdb.database.windows.net
workloadidentity: true
Docker images
Pre-compiled docker images are available as packages from ghcr.io.