从 prometheus_exporter 连接到数据库
Connecting to database from prometheus_exporter
为了在 prometheus 中收集 Postgres 指标,使用了 postgres_exporter。不使用容器化,一切都在本机完成。硬件指标通过作业收集在普罗米修斯中。要收集数据库指标,我需要将 prometheus_exporter 连接到数据库。告诉我如何配置与数据库的连接。 postgres_exporter 没有配置文件。 Ш 是否可以通过环境变量来做到这一点?
prometheus.yml:
scrape_configs:
- job_name: postgresql
static_configs:
- targets: ['xx.xx.xx.xx:9187']
labels:
alias: postgres
Is it possible to do this via environment variables?
是的,这是可能的。以下是支持的变量列表:https://github.com/prometheus-community/postgres_exporter#environment-variables
How to configure the connection to the database
从控制台启动的简单示例:
DATA_SOURCE_NAME="user=postgres host=database.example.com" postgres_exporter
或
DATA_SOURCE_NAME="postgresql://user:password@host:port/dbname" postgres_exporter
如果您从分发包安装导出器,可能有一个 systemd
单元文件 运行 它作为一项服务:
# systemctl cat prometheus-postgres-exporter
# /lib/systemd/system/prometheus-postgres-exporter.service
[Unit]
Description=Prometheus PostgreSQL Exporter
Wants=network-online.target
[Service]
User=postgres
ExecStart=/usr/sbin/postgres-exporter $OPTIONS
# You can place environment variables in this file ⤋
EnvironmentFile=/etc/default/prometheus-postgres-exporter
[Install]
WantedBy=multi-user.target
DATA_SOURCE_NAME="postgresql://user:password@host:port/dbname?sslmode=disable"
最后 dbname 是必须的,以避免错误。
对于我的情况,我发现现在可以了。
DATA_SOURCE_NAME="postgresql://grafana:p@host:192.168.1.100/postgres?sslmode=disable"
为了在 prometheus 中收集 Postgres 指标,使用了 postgres_exporter。不使用容器化,一切都在本机完成。硬件指标通过作业收集在普罗米修斯中。要收集数据库指标,我需要将 prometheus_exporter 连接到数据库。告诉我如何配置与数据库的连接。 postgres_exporter 没有配置文件。 Ш 是否可以通过环境变量来做到这一点?
prometheus.yml:
scrape_configs:
- job_name: postgresql
static_configs:
- targets: ['xx.xx.xx.xx:9187']
labels:
alias: postgres
Is it possible to do this via environment variables?
是的,这是可能的。以下是支持的变量列表:https://github.com/prometheus-community/postgres_exporter#environment-variables
How to configure the connection to the database
从控制台启动的简单示例:
DATA_SOURCE_NAME="user=postgres host=database.example.com" postgres_exporter
或
DATA_SOURCE_NAME="postgresql://user:password@host:port/dbname" postgres_exporter
如果您从分发包安装导出器,可能有一个 systemd
单元文件 运行 它作为一项服务:
# systemctl cat prometheus-postgres-exporter
# /lib/systemd/system/prometheus-postgres-exporter.service
[Unit]
Description=Prometheus PostgreSQL Exporter
Wants=network-online.target
[Service]
User=postgres
ExecStart=/usr/sbin/postgres-exporter $OPTIONS
# You can place environment variables in this file ⤋
EnvironmentFile=/etc/default/prometheus-postgres-exporter
[Install]
WantedBy=multi-user.target
DATA_SOURCE_NAME="postgresql://user:password@host:port/dbname?sslmode=disable" 最后 dbname 是必须的,以避免错误。 对于我的情况,我发现现在可以了。
DATA_SOURCE_NAME="postgresql://grafana:p@host:192.168.1.100/postgres?sslmode=disable"