Is your feature request related to a problem? Please describe.
Have tried to use multiple jobs with different databases, but unable to provide DSN in secure-way (from secrets)
Describe the solution you'd like
Use DB connections provided via environment variables or use envs in config
Describe alternatives you've considered
Use multiple instances of sql_exporter with different DSNs
Additional context
My test config:
env:
PG_HOST:
value: db-cluster
PG_USER:
from:
kind: Secret
name: db-cluster
key: username
PG_PASSWORD:
from:
kind: Secret
name: db-cluster
key: password
#
# This works only for first job and target:
# SQLEXPORTER_TARGET_DSN:
# value: postgresql://${PG_USER}:${PG_PASSWORD}@${PG_HOST}:5432/test_db_1
#
PG_DSN:
value: "postgresql://${PG_USER}:${PG_PASSWORD}@${PG_HOST}:5432"
config:
jobs:
- job_name: test_job_1
collectors: [test_col_1]
enable_ping: true
static_configs:
- targets:
test_db_1: "${PG_DSN}/test_db_1"
- job_name: test_job_2
collectors: [test_col_2]
enable_ping: true
static_configs:
- targets:
test_db_2: "${PG_DSN}/test_db_2"
collectors:
- collector_name: test_col_1
metrics:
- metric_name: m_1
...
- collector_name: test_col_2
metrics:
- metric_name: m_2
...
Result is error like "invalid character '{' in DSN"
Is your feature request related to a problem? Please describe.
Have tried to use multiple jobs with different databases, but unable to provide DSN in secure-way (from secrets)
Describe the solution you'd like
Use DB connections provided via environment variables or use envs in config
Describe alternatives you've considered
Use multiple instances of sql_exporter with different DSNs
Additional context
My test config:
Result is error like "invalid character '{' in DSN"