외부 데이터베이스의 모니터링 및 로깅 설정
외부 PostgreSQL 데이터베이스의 성능 모니터링 및 트러블슈팅을 위한 로깅 설정 권장 사항과 Amazon RDS 설정 방법을 설명합니다.
외부 PostgreSQL 데이터베이스 시스템에는 성능 모니터링 및 트러블슈팅을 위한 다양한 로깅 옵션이 있지만, 기본적으로 활성화되어 있지 않습니다. 이 섹션에서는 자체 관리형 PostgreSQL에 대한 권장 사항과 주요 PostgreSQL 관리형 서비스 공급자에 대한 권장 사항을 제공합니다. 권장 PostgreSQL 로깅 설정 # 다음 로깅 설정을 활성화해야 합니다: log_statement=ddl : CREATE , ALTER 또는 DROP 과 같은 데이터베이스 모델 정의(DDL) 변경 사항을 로그합니다. 성능 문제를 유발할 수 있는 최근 모델 변경 사항을 추적하고 보안 침해 및 인적 오류를 식별하는 데 도움이 됩니다. log_lock_waits=on : 성능 저하의 일반적인 원인인 오랜 시간 동안 잠금 을 보유하는 프로세스를 로그합니다. log_temp_files=0 : 쿼리 성능 저하를 나타낼 수 있는 집중적이고 비정상적인 임시 파일 사용을 로그합니다. log_autovacuum_min_duration=0 : 모든 자동 진공 실행을 로그합니다. 자동 진공은 전체 PostgreSQL 엔진 성능의 핵심 구성 요소입니다. 죽은 튜플이 테이블에서 제거되지 않는 경우 트러블슈팅 및 튜닝에 필수적입니다. log_min_duration_statement=1000 : 느린 쿼리(1초보다 느린)를 로그합니다. 이러한 매개변수 설정에 대한 전체 설명은 PostgreSQL 오류 보고 및 로깅 설명서 에서 찾을 수 있습니다. Amazon RDS # Amazon 관계형 데이터베이스 서비스(RDS)는 많은 수의 모니터링 메트릭 과 로깅 인터페이스 를 제공합니다. 다음은 구성해야 할 몇 가지 항목입니다: RDS 파라미터 그룹 을 통해 권장 PostgreSQL 로깅 설정 을 모두 변경합니다. 권장 로깅 매개변수는 RDS에서 동적 이므로 이 설정을 변경한 후 재부팅이 필요하지 않습니다. PostgreSQL 로그는 RDS 콘솔 을 통해 확인할 수 있습니다. RDS 성능 인사이트 를 활성화하면 PostgreSQL 데이터베이스 엔진의 많은 중요한 성능 메트릭으로 데이터베이스 부하를 시각화할 수 있습니다. RDS 향상된 모니터링 을 활성화하여 운영 체제 메트릭을 모니터링합니다. 이러한 메트릭은 데이터베이스 성능에 영향을 미치는 기반 하드웨어 및 OS의 병목 현상을 나타낼 수 있습니다. 프로덕션 환경에서는 모니터링 간격을 10초(또는 그 이하)로 설정하여 많은 성능 문제의 원인이 될 수 있는 리소스 사용량의 급격한 변화를 포착합니다. 콘솔에서 Granularity=10 을 설정하거나 CLI에서 monitoring-interval=10 을 설정합니다.
