본문으로 건너뛰기

설정하기

1. 지원 버전

  • PostgreSQL 9.6 이상 버전을 지원합니다.

Cloud 환경 PostgreSQL 지원 현황

Cloud 환경PostgreSQL 지원 여부
AWS✅ 지원
Azure✅ 지원
OCI❌ 미지원
NCP✅ 지원
GCP✅ 지원
SCP✅ 지원

2. 필수 권한

기본 모니터링 권한

모니터링 계정(예: exemone)에 다음 권한을 부여해야 합니다:

-- PostgreSQL 10 버전 이상 (superuser 권한 부여가 어려운 경우)
GRANT pg_monitor TO exemone;

-- PostgreSQL 10 버전 미만
ALTER USER exemone WITH SUPERUSER;

SQL 데이터 수집 권한

database2, search_path 옵션에 입력된 DB 및 스키마에 대해 다음 권한이 필요합니다.

GRANT USAGE ON SCHEMA {schema 명} TO exemone;
GRANT CONNECT ON DATABASE {database 명} TO exemone;

Plan 조회 권한

GRANT USAGE ON SCHEMA {schema 명} TO exemone;
GRANT SELECT ON {schema 명}.{table 명} TO exemone;

Session Kill 권한

-- 일반 PostgreSQL
GRANT pg_signal_backend TO exemone;

-- AWS RDS 환경
ALTER USER exemone WITH SUPERUSER;
GRANT rds_superuser TO exemone;

3. 사전 설정 사항

파라미터 설정 (DB 재기동 필요)

postgresql.conf에 다음 파라미터를 설정합니다.

-- 사용자 정의 함수(PL/pgSQL)에 대한 성능 정보 수집 활성화 (기본값: none)
track_functions = 'pl'

-- SQL 실행 정보를 수집하기 위한 확장 모듈 로드 (기본값: null)
shared_preload_libraries = 'pg_stat_statements'

주의: 위 설정 변경 후 반드시 PostgreSQL 재기동이 필요합니다.

SQL 실행 정보 수집 설정

모니터링 대상 DB에 접속하여 다음 설정을 수행합니다.

-- 모니터링 대상 database로 접속
-- 해당 database명은 exemONE Setting > Database > Custom Configuration > database2 옵션에 입력 필요
-- public이 아닌 schema를 사용하는 경우, search_path 옵션에도 입력 필요
\c [모니터링 대상 dbname]

-- pg_stat_statements 확장 기능 생성
CREATE EXTENSION pg_stat_statements;

-- (선택) SQL text 길이 제한 옵션 - PostgreSQL 재기동 필요
-- 기본값: 1024 / 권장값: 1048576
-- 단, pg_stat_statements.max(기본: 1000) × track_activity_query_size 바이트만큼 공유 메모리 사용 증가 → 변경 시 주의
track_activity_query_size = 1048576

exemONE 모니터링 옵션 설정

PostgreSQL 인스턴스는 Setting > Database의 Instance 등록/편집 화면에서 Custom Configuration에 아래 키 값을 설정해 지표 수집 방식을 세부적으로 조정할 수 있습니다.

경로: Setting > Database > Custom Configuration

옵션명설명
postgresql.database2모니터링 설정 DB와 pg_stat_statements가 설치된 DB가 다른 경우, SQL 데이터 수집을 위해 해당 DB명을 입력합니다.
postgresql.set_search_pathdb-agent v3.0.508.51 이후는 모니터링 대상 DB의 search_path에, v3.0.508.51 이전postgresql.database2의 search_path에 적용됩니다.
postgresql.set_search_path2(db-agent v3.0.508.51 / api v3.0.508.109 이상 추가) postgresql.database2의 search_path에 적용되며, SqlMessage·Plan 조회 시 사용됩니다.
postgresql.sslmodeSSL 모드 여부를 설정합니다. disable(기존 고정값, 기본값), require, verify-ca, verify-full을 지원합니다.