Metrics > Postgres
PostgreSQL Metric Dashboard
Widget Type | Widget Title | Summary |
connection | Connection Usage by DB | 각 데이터베이스 별 connection 사용량을 표시합니다. |
MaxConn | 현재 데이터베이스에 설정된 MaxConn 값을 표시합니다. | |
Conn Status | 현재 각각의 connection의 status의 합계를 표시합니다. | |
Connected | 현재 연결된 connection의 합계를 표시합니다. | |
lock | Locks | 특정 기간 현재 데이터베이스 session 중 Lock 상태인 session의 수를 표시합니다. |
Deadlock | 특정 기간 Deadlock이 발생한 횟수를 표시합니다. | |
dml | DML | Insert, Update, Delete 된 Row의 합을 표시합니다. |
bgwriter | Written Buffers By | checkpoint, backgorund writer, backend에 사용한 버퍼 수 |
Requested vs Scheduled Checkpoint | 수행되어진 요청 체크포인트 수, 수행되어진 예약 체크포인트 수 | |
Checkpoint Processing Time | 파일이 디스크에 동기/기록되는 체크포인트 처리 부분에서 소용된 총 시간. | |
vaccum | Vacuum Count | 특정 기간 수동으로 수행한 vacuum의 수를 표시합니다. |
Autovacuum Count | 특정 기간 자동으로 수행한 vaccum의 수를 표시합니다. | |
Bloating Table (Dead Tuple Ratio) | delete, update된 작업으로 commit된 old version의 rows를 표시합니다. | |
Size | Database Size | 추가 확인 필요 |
Top Table Size | 인덱스를 제외하고 지정된 테이블에서 사용한 디스크 공간의 크기를 표시합니다. | |
Query | Top Query Elapse Time | 특정 기간 경과 시간이 긴 query 항목을 표시합니다. |
TPS | commit, rollback의 합을 표시합니다. | |
Rows | fetch, return된 rows의 합을 표시합니다. | |
I/O | Physical & Logical I/O | 데이터베이스 I/O와 관련된 항목을 표시합니다. |
[1] connection
1. Connection Usage by DB
데이터베이스 Connection 사용량을 확인 할 수 있습니다.
Dashboard 구성
Chart | Pie | |
Type | Metrics |
|
Value | Last | |
Group | database_name | |
Aggregation | Avg |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_connection_usage |
Type | Gauge |
Description | 데이터베이스 연결 사용량(총 세션/최대 연결 수*100) |
Labels |
|
2. MaxConn
현재 데이터베이스 설정된 Max Connection 값을 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Last | |
Filters | parameter | max_connections |
Aggregation | Max |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_parameter_value |
Type | Gauge |
Description | pg_settings에서 수집된 값. |
Labels |
|
3. Conn Status
현재 각 상태에 속한 session의 합을 확인 할 수 있습니다.
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | count | |
Group | status | |
Aggregation | Avg |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_connection_session_count |
Type | Gauge |
Description | 현재 연결된 연결 수(DB, APP, User, State로 구분) |
Labels |
|
4. Connected
현재 데이터베이스의 connection 수를 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Last | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_connection_session_count |
Type | Gauge |
Description | 현재 연결된 연결 수(DB, APP, User, State로 구분) |
Labels |
|
[2] lock
1. Locks
잠금 대기 중인 세션을 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Last | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_connection_lock_session |
Type | Gauge |
Description | 잠금 대기 중인 세션 수 |
Labels |
|
2. DeadLock
교착 상태가 발생한 횟수를 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Data | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_db_stat_deadlocks |
Type | Counter |
Description | 데이터베이스에서 발견된 교착상태 수 |
Labels |
|
[3] dml
1. DML
update, deleted, inserted된 rows를 확인 할 수 있습니다.
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_db_stat_updated_rows |
Type | Counter |
Description | 쿼리에 의해 업데이트 된 행 수 |
Labels |
|
Metric Name | pg_dsk_db_stat_deleted_rows |
Type | Counter |
Description | 쿼리에 의해 삭제된 행 수 |
Labels |
|
Metric Name | pg_dsk_db_stat_inserted_rows |
Type | Counter |
Description | 쿼리에 의해 삽입된 행 수 |
Labels |
|
[4] bgwriter
1. Written Buffers By
buffer에 발생한 쓰기 요청에 대한 정보를 확인 할 수 있습니다.
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_bgwriter_written_by_backed |
Type | Counter |
Description | backend에서 직접 쓴 버퍼 수 |
Labels |
|
Metric Name | pg_dsk_bgwriter_written_by_bgwriter |
Type | Counter |
Description | 체크포인트backend에서 직접 쓴 버퍼 수 |
Labels |
|
Metric Name | pg_dsk_bgwriter_written_by_checkpoint |
Type | Counter |
Description | 체크포인트 중에 쓴 버퍼 수 |
Labels |
|
2. Requested vs Scheduled Checkpoint
수행된 예약/요청 체크포인트 수의 정보를 확인 할 수 있습니다.
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_bgwriter_requested_checkpoint |
Type | Counter |
Description | 수행된 요청된 체크포인트 수 |
Labels |
|
Metric Name | pg_dsk_bgwriter_scheduled_checkpoint |
Type | Counter |
Description | 수행된 예약된 체크포인트 수 |
Labels |
|
3. Checkpoint Processing Time
파일이 디스크에 동기화/쓰기 체크포인트 처리 부분에서 소요된 총 시간 정보를 확인 할 수 있습니다.
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Last | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_bgwriter_checkpoint_sync_time |
Type | Counter |
Description | 파일이 디스크에 동기화되는 체크포인트 처리 부분에서 소요된 총 시간(밀리초) |
Labels |
|
Metric Name | pg_dsk_bgwriter_checkpoint_write_time |
Type | Counter |
Description | 파일이 디스크에 기록되는 체크포인트 처리 부분에서 소요된 총 시간(밀리초) |
Labels |
|
[5] vacuum
1. Vacuum Count
테이블을 수동으로 vacuum한 횟수를 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_table_stat_vacuum_count |
Type | Counter |
Description | 이 테이블을 수동으로 vacuum 한 횟수 |
Labels |
|
2. Autovacuum Count
테이블을 자동으로 vaccum한 횟수를 확인 할 수 있습니다.
Dashboard 구성
Chart | Current | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_table_stat_autovacuum_count |
Type | Counter |
Description | 테이블이 autovacuum된 횟수 |
Labels |
|
3. Bloating Table (Dead Tuple Ratio)
update, delete로 인한 Dead Tuple에 대한 행의 갯수를 확인 할 수 있습니다.
Dashboard 구성
Chart | Top List | |
Type | Metrics |
|
Value | Avg | |
Group | table_name | |
Top | 10 |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_table_stat_dead_rows |
Type | Counter |
Description | 예상 비활성 행 수 |
Labels |
|
[6] size
1. Database Size - 보류
Dashboard 구성Dashboard 에서 사용한 Metric
2. Top Table Size
각각의 Table의 가용 용량을 확인 할 수 있습니다.
Dashboard 구성
Chart | Top List | |
Type | Metrics |
|
Value | Avg | |
Group | table_name | |
Top | 10 |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_capacity_table_size |
Type | Gauge |
Description | 인덱스를 제외하고 지정된 테이블에서 사용한 디스크 공간(TOST, 사용 가능한 공간 맵 및 가시성 맵 포함) |
Labels |
|
[7] Query
1. Elapse Time
Dashboard 구성
Chart | Top List | |
Type | Metrics |
|
Value | Avg | |
Group | query | |
Top | 10 |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_sql_stat_elapsed_time |
Type | Counter |
Description | 문을 실행하는 데 소요된 총 시간(밀리초) |
Labels |
|
2. Physical & Logical I/O
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_db_stat_block_read |
Type | Counter |
Description | db에서 읽은 디스크 블록 수 |
Labels |
|
Metric Name | pg_dsk_db_stat_block_hit |
Type | Counter |
Description | sql 버퍼 캐시에 이미 데이터가 존재하여 읽기가 필요하지 않은 횟수 |
Labels |
|
3. TPS
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_db_stat_commit |
Type | Counter |
Description | 데이터 베이스에 commit된 트랜잭션 수 |
Labels |
|
Metric Name | pg_dsk_db_stat_rollback |
Type | Counter |
Description | rollback된 트랜잭션 수 |
Labels |
|
4. Rows
Dashboard 구성
Chart | Timeseries | |
Type | Metrics |
|
Value | Increase | |
Aggregation | Sum |
Dashboard 에서 사용한 Metric
Metric Name | pg_dsk_db_stat_fetched_rows |
Type | Counter |
Description | 쿼리에서 실제로 반환 된 행 수 |
Labels |
|
Metric Name | pg_dsk_db_stat_returned_rows |
Type | Counter |
Description | db쿼리에서 반환 된 행 |
Labels |
|