postgresql 从prometheus_exporter连接到数据库

0mkxixxg  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(2)|浏览(326)

要在prometheus中收集Postgres指标,请使用postgres_exporter。不使用容器化,一切都在本机完成。硬件指标是通过作业在prometheus中收集的。要收集数据库指标,我需要将prometheus_exporter连接到数据库。请告诉我如何配置到数据库的连接。postgres_exporter没有配置文件。是否可以通过环境变量执行此操作?
prometheus.yml:

scrape_configs:
     - job_name: postgresql
        static_configs:
          - targets: ['xx.xx.xx.xx:9187']
            labels:
              alias: postgres
qpgpyjmq

qpgpyjmq1#

数据源名称=“postgresql://user:password@host:port/dbname?sslmode=disable”在结尾处,dbname是必须的,以避免错误。对于我的情况,我发现它现在是可以的。

DATA_SOURCE_NAME="postgresql://grafana:p@host:192.168.1.100/postgres?sslmode=disable"
mzsu5hc0

mzsu5hc02#

是否可以通过环境变量来实现这一点?
是的,可以。下面是支持的变量列表:https://github.com/prometheus-community/postgres_exporter#environment-variables
如何配置与数据库的连接
从控制台启动的简单示例:

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

相关问题