모니터링과 메트릭
Managed Postgres 대시보드는 PostgreSQL 클러스터에 대한 종합적인 성능 모니터링과 메트릭을 제공해요. Metrics 탭에서는 데이터베이스 성능을 실시간으로 볼 수 있어 봐, 병목 지점을 찾고 애플리케이션을 최적화하는 데 도움이 돼요. 이 문서에서는 메트릭 접근 방법부터 각 타일과 차트의 의미를 설명해 드릴게요.
출처: 문서
본문
성능 모니터링
Managed Postgres 대시보드는 PostgreSQL 클러스터에 대한 종합적인 성능 모니터링과 메트릭을 제공해요. Metrics 탭은 데이터베이스 성능을 실시간으로 볼 수 있게 해 주며, 병목 지점을 찾고 애플리케이션을 최적화하는 데 도움이 돼요.
메트릭 접근하기
클러스터의 메트릭을 보려면:
- Fly.io 대시보드에서 MPG 클러스터로 이동하세요.
- Metrics 탭을 클릭하세요.
- 선택적으로 데이터베이스 드롭다운으로 특정 데이터베이스를 필터링하세요.
- 원하는 시간 범위(5분, 15분, 1시간, 6시간, 24시간, 2일 또는 7일)를 선택하세요.
구형 v1 클러스터에서는 Metrics 탭에 차트 대신 새 메트릭 시스템 사용 가능(New Metrics System Available) 카드가 표시될 수 있어요. 새 메트릭 시스템을 활성화하면 모니터링 구성을 적용하기 위해 클러스터의 모든 Postgres 노드가 재시작돼요.
v2 클러스터에서 데이터베이스 Machine이 최근 크게 스로틀됐다면, 탭 상단에 CPU 스로틀 감지(CU throttling detected) 또는 심각한 CPU 스로틀(Severe CPU throttling) 배너가 나타나요.
메트릭 타일
Metrics 탭 상단에는 클러스터의 현재 상태를 보여주는 네 개의 타일이 있어요:
| 타일 | 설명 |
|---|---|
| 데이터베이스 연결(Database Connections) | 클러스터 전체 max_connections 설정에 대한 선택된 데이터베이스로의 현재 연결 수 |
| 풀링 연결(Pooled Connections) | PGBouncer 풀 위의 현재 클라이언트 수, 활성과 대기 합계 |
| 가장 긴 쿼리(Longest Query) | 선택된 데이터베이스에서 가장 오래 실행 중인 활성 쿼리의 지속 시간 |
| 복제 지연(Replication Lag) | 현재 최대 재생 지연. Replication Delay Seconds 차트와 같은 측정값을 단일 현재 값으로 |
사용 가능한 차트와 메트릭
타일 아래에서 각 차트는 선택된 시간 범위에 걸쳐 시리즈를 그리며, 각 시리즈의 평균이 아래에 표시돼요. 차트는 다음 범주로 그룹화돼요:
시스템 리소스 메트릭
| 메트릭 | 설명 |
|---|---|
| 데이터베이스 CPU 사용률 | 각 데이터베이스 인스턴스의 CPU 사용 비율. Primary(P)와 Replica(R) 배지로 표시. v2 클러스터에서는 데이터베이스가 CPU 스로틀된 기간도 음영 처리돼요. 스로틀된 Machine은 그 외에는 CPU가 평평한 100%로 보일 수 있어요 |
| 데이터베이스 메모리 사용률 | Primary와 Replica 데이터베이스 인스턴스의 시간 경과 메모리 사용. 인스턴스 ID로 표시 |
| 풀러 CPU 사용률 | PGBouncer 연결 풀러 인스턴스의 CPU 사용 비율. 정상 운영에서 보통 낮게 유지 |
| 풀러 메모리 사용률 | 연결 풀러 인스턴스의 메모리 사용. 인스턴스 ID로 각 풀러의 사용량 표시 |
연결 메트릭
| 메트릭 | 설명 |
|---|---|
| 데이터베이스 연결 | 시간 경과 활성 및 유휴 데이터베이스 연결 |
| 풀러 연결 | PGBouncer를 통한 활성 및 대기 연결 추적 |
데이터베이스 작업
| 메트릭 | 설명 |
|---|---|
| 데이터베이스 작업 | select, insert, update, delete로 나뉜 초당 행 수준 작업. 작업 유형별 처리량 패턴과 워크로드 분포 표시 |
| 캐시 적중률 | PostgreSQL 버퍼 캐시에서 서빙된 블록 접근 비율. 그 캐시 밖의 읽기는 운영체제 페이지 캐시가 서빙할 수도 있어요 |
| 데드락 | 두 개 이상의 트랜잭션이 서로의 락 해제를 기다릴 때 감지된 데이터베이스 데드락 수. 이러한 상호 블로킹 상황의 빈도와 시점 표시 |
스토리지
| 메트릭 | 설명 |
|---|---|
| 데이터베이스 크기 | 시간 경과 데이터베이스 크기. 데이터베이스 드롭다운으로 특정 데이터베이스 보기 |
복제 메트릭
| 메트릭 | 설명 |
|---|---|
| 복제 지연 바이트 | 레플리카가 프라이머리를 따라잡기 위해 뒤처진 WAL(Write-Ahead Log) 데이터의 바이트 양. 적용을 기다리는 변경량 측정 |
| 복제 지연 초 | 레플리카가 프라이머리 데이터베이스보다 뒤처진 시간(초). 레플리카의 현재 상태가 프라이머리를 얼마나 오래 전에 반영하는지 나타냄 |
개요 타일(v2 클러스터)
v2 클러스터(클러스터 이름 옆에 v2로 표시)의 개요(Overview) 페이지에는 클러스터의 현재 상태가 담긴 요약 타일이 표시돼요. v1 클러스터에는 이 타일이 없어요.
| 타일 | 설명 |
|---|---|
| CPU 사용량 | 프라이머리의 현재 CPU 사용량 |
| 메모리 사용량 | 프라이머리의 현재 메모리 사용량 |
| 스토리지 사용량 | 각 노드의 할당된 스토리지에 대한 사용자 데이터베이스가 사용하는 대략적 스토리지. WAL과 시스템 오버헤드를 제외하므로 총 볼륨 사용량이나 남은 용량을 나타내지 않아요 |
| 활성 연결 | 유휴 연결을 포함해 데이터베이스에 열린 연결, 클러스터의 max_connections 설정과 비교 |
| 업타임 | 지난 30일 동안 클러스터가 프라이머리를 연속으로 가동한 시간 |