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 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 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.netor 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: truePre-compiled docker images are available as packages from ghcr.io.