Have a custom prefix for each of the default metrics created by postgres_exporter

Co-authored-by: Will Rouesnel <wrouesnel@wrouesnel.com>
This commit is contained in:
Ajay Bhat 2020-12-24 21:06:18 +05:30 committed by GitHub
parent 3fd1c2c0eb
commit c55a3b3c5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 0 deletions

View File

@ -140,6 +140,9 @@ The following environment variables configure the exporter:
* `PG_EXPORTER_EXCLUDE_DATABASES`
A comma-separated list of databases to remove when autoDiscoverDatabases is enabled. Default is empty string.
* `PG_EXPORTER_METRIC_PREFIX`
A prefix to use for each of the default metrics exported by postgres-exporter. Default is `pg`
Settings set by environment variables starting with `PG_` will be overwritten by the corresponding CLI flag if given.
### Setting the Postgres server's data source name

View File

@ -53,6 +53,7 @@ var (
onlyDumpMaps = kingpin.Flag("dumpmaps", "Do not run, simply dump the maps.").Bool()
constantLabelsList = kingpin.Flag("constantLabels", "A list of label=value separated by comma(,).").Default("").Envar("PG_EXPORTER_CONSTANT_LABELS").String()
excludeDatabases = kingpin.Flag("exclude-databases", "A list of databases to remove when autoDiscoverDatabases is enabled").Default("").Envar("PG_EXPORTER_EXCLUDE_DATABASES").String()
metricPrefix = kingpin.Flag("metric-prefix", "A metric prefix can be used to have non-default (not \"pg\") prefixes for each of the metrics").Default("pg").Envar("PG_EXPORTER_METRIC_PREFIX").String()
)
// Metric name parts.
@ -626,6 +627,8 @@ func makeDescMap(pgVersion semver.Version, serverLabels prometheus.Labels, metri
}
}
namespace := strings.Replace(namespace, "pg", *metricPrefix, 1)
// Determine how to convert the column based on its usage.
// nolint: dupl
switch columnMapping.usage {