Интеграция с 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
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
dsn | string | — | Строка подключения (пароль берётся из ${ENV_VAR}). |
ssl_root_cert | path | — | Путь до CA-сертификата при sslmode=verify-full. |
slow_query_threshold_ms | number | 1000 | Порог медленного запроса в миллисекундах. |
connections_pool.max_open | number | 2 | Максимум открытых соединений от агента. |
queries[] | array | [] | Пользовательские SQL-запросы, возвращающие одно числовое значение. |
Проверка работы
- Проверить, что агент может подключиться с хоста, где он запущен, с теми же реквизитами, что в
agent.yaml. - Убедиться, что счётчик
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на стороне сервера.