Перейти к содержимому
Skip to main content

Интеграция с PostgreSQL

info

Перевод в процессе / Translation in progress. See русская версия.

Интеграция подключает агент к PostgreSQL по DSN, читает статистику из pg_stat_* views и публикует метрики соединений, запросов и репликации в Flaree.

Предварительные требования

  • PostgreSQL 12 или новее с включённым расширением pg_stat_statements (для метрик медленных запросов).

  • Сетевая доступность из агента до инстанса (по умолчанию TCP 5432) и действующий TLS-сертификат, если используется sslmode=require.

  • Read-only пользователь flaree_agent с доступом к системным статистическим views. Минимальные гранты:

    CREATE ROLE flaree_agent WITH LOGIN PASSWORD '<your-password>';
    GRANT pg_monitor TO flaree_agent;
    GRANT SELECT ON pg_stat_database, pg_stat_activity, pg_stat_replication TO flaree_agent;

Минимальная конфигурация

integrations:
postgres:
enabled: true
dsn: postgres://flaree_agent:${PG_PASSWORD}@db:5432/postgres?sslmode=require

Полная конфигурация

integrations:
postgres:
enabled: true
dsn: postgres://flaree_agent:${PG_PASSWORD}@db:5432/postgres?sslmode=verify-full
ssl_root_cert: /etc/flaree/certs/postgres-ca.pem
slow_query_threshold_ms: 500
connections_pool:
max_open: 4
max_idle: 2
max_lifetime: 5m
queries:
- name: replication_lag_bytes
sql: |
SELECT pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)
FROM pg_stat_replication;
interval: 30s
- name: active_connections
sql: SELECT count(*) FROM pg_stat_activity WHERE state = 'active';
interval: 15s
КлючТипПо умолчаниюОписание
dsnstringСтрока подключения (пароль берётся из ${ENV_VAR}).
ssl_root_certpathПуть до CA-сертификата при sslmode=verify-full.
slow_query_threshold_msnumber1000Порог медленного запроса в миллисекундах.
connections_pool.max_opennumber2Максимум открытых соединений от агента.
queries[]array[]Пользовательские SQL-запросы, возвращающие одно числовое значение.

Проверка работы

  1. Проверить, что агент может подключиться с хоста, где он запущен, с теми же реквизитами, что в agent.yaml.
  2. Убедиться, что счётчик flaree_agent_postgres_queries_total увеличивается на эндпоинте /metrics агента.
psql "postgres://flaree_agent@db/postgres" -c "SELECT 1"
curl -sS http://127.0.0.1:9100/metrics | grep flaree_agent_postgres_queries_total

Troubleshooting

  • Если в дашборде нет данных по PostgreSQL, пройдите по чек-листу на странице нет данных.
  • Частые первопричины: неверный DSN, отсутствие pg_monitor у пользователя, блокирующий pg_hba.conf на стороне сервера.