# Appendix A. Instance Monitoring Components

다음은 '[Instance Monitoring](/sysmasterdb-for-postgresql1.0/8.3_manual/realtime/main-monitoring/instance-monitoring.md)' 서비스에서 제공하는 모니터링 대상에 대한 간략한 설명이다.

## Monitoring Metrics

### System Metrics

| Name                    | 단위(Unit)             | 설명 (Description)       |
| ----------------------- | -------------------- | ---------------------- |
| CPU Usage               | Percent              | 시스템 전체 CPU 사용률         |
| Memory Usage            | Percent              | 시스템 전체 메모리 사용률         |
| Memory Used Size        | MB, Byte, KB, GB, TB | 시스템에서 사용 중인 메모리 사용량    |
| Shared Buffer Used Size | MB, Byte, KB, GB, TB | 공유 버퍼 캐시가 사용 중인 메모리 크기 |
| Page In                 | Count                | Page In 횟수             |
| Page Out                | Count                | Page Out 횟수            |
| Used Swap Size          | MB, Byte, KB, GB, TB | Swap 파일 사용량            |
| Total Swap Size         | MB, Byte, KB, GB, TB | 전체 Swap 파일 크기          |

### Session Metrics

| Name                                     | 단위(Unit)               | 설명 (Description)                                                     |
| ---------------------------------------- | ---------------------- | -------------------------------------------------------------------- |
| Active Session Count                     | Count                  | 현재 활성화 상태인 세션 수                                                      |
| Total Session Count                      | Count                  | 연결된 전체 세션 수                                                          |
| Running Session Count                    | Count                  | 실행 중인 세션 수                                                           |
| Lock Waiting Session Count               | Count                  | 다른 락을 기다리는 세션 수                                                      |
| Long Running Session Count               | Count                  | 특정 Threshold 이상으로 오래 실행 중인 세션 수                                      |
| Idle in Transaction Time                 | sec, μs, ms, min, hour | 트랜잭션이 시작되었지만 쿼리를 실행하지 않고 유휴 상태로 남아있는 시간                              |
| Deadlocks Detected                       | Count                  | 데드락 발생 횟수                                                            |
| Session Count(Running, Active, Inactive) | Count                  | 세션 상태별 집계                                                            |
| Elapsed Time                             | sec                    | 현재 수행 중인(Active) 세션의 쿼리 시작 시점부터 현재 시점까지의 경과 시간                       |
| Session Usage                            | Percent                | 전체 할당 가능한 세션 (superuser\_reserved\_connections 포함) 중 현재 사용 중인 세션의 비율 |

### Stat Metrics

| Name                     | 단위(Unit)               | 설명 (Description)                                                                                                    |
| ------------------------ | ---------------------- | ------------------------------------------------------------------------------------------------------------------- |
| DB CPU Time              | sec, μs, ms, min, hour | 지난 수집 주기(SysMasterDB 에이전트가 관제 대상 DB에 접속해서 데이터를 긁어오는 간격)동안 PostgreSQL 인스턴스에 속한 모든 프로세스가 실제로 사용한 CPU 시간 증가분(Diff)의 총합 |
| TPS                      | Count                  | 초당 처리된 트랜잭션 수                                                                                                       |
| Block Read Time (I/O)    | sec, μs, ms, min, hour | 디스크에서 데이터를 읽는 데 소요된 총 시간. track\_io\_timing 활성화 필요.                                                                 |
| Block Write Time (I/O)   | sec, μs, ms, min, hour | 디스크에 데이터를 쓰는 데 소요된 총 시간. I/O 병목 여부 판단에 유용 track\_io\_timing 활성화 필요.                                                 |
| Physical Reads           | Block                  | 데이터베이스에서 디스크로부터 실제로 읽은 블록 수                                                                                         |
| Logical Reads            | Block                  | 디스크가 아닌 PostgreSQL의 메모리 버퍼 캐시에서 데이터를 찾은 횟수                                                                          |
| Buffer Cache Hit Ratio   | Percent                | 캐시에서 처리된 읽기 요청 비율                                                                                                   |
| Transactions Rolled Back | Count                  | 데이터베이스에서 롤백(취소)된 트랜잭션의 누적 수                                                                                         |
| Transactions Committed   | Count                  | 데이터베이스에서 커밋된 트랜잭션의 누적 수                                                                                             |
| WAL Bytes Written        | MB, Byte, KB, GB, TB   | 생성된 WAL 데이터의 총 바이트 수                                                                                                |
| WAL Write Time           | sec, μs, ms, min, hour | WAL 데이터를 디스크에 쓰는 데 걸린 시간 track\_wal\_io\_timing 활성화 활성화 필요.                                                         |
| Execute Count            | Count                  | 인스턴스 내에서 실행된 모든 SQL 쿼리의 수행 횟수 합계                                                                                    |

### Replication

| Name                       | 단위(Unit)               | 설명 (Description)                                                    |
| -------------------------- | ---------------------- | ------------------------------------------------------------------- |
| Replication Write Lag      | sec, μs, ms, min, hour | Primary가 보낸 데이터(WAL)를 Standby 서버가 받아서 OS 캐시(메모리)에 쓰기(Write)까지 걸린 시간 |
| Replication Flush Lag      | sec, μs, ms, min, hour | Standby 서버가 받은 데이터를 OS 캐시에서 실제 디스크(WAL 파일)로 내리기(Flush/Sync)까지 걸린 시간 |
| Replication Replay Lag     | sec, μs, ms, min, hour | 디스크에 저장된 데이터를 읽어서 Standby DB의 메모리에 반영(Replay)하기까지 걸린 시간             |
| Inactive Replication Slots | Count                  | 현재 연결이 끊겨있고(active=false), WAL 로그를 점유하고 있는 복제 슬롯의 갯수                |

### SQL

| Name                 | 단위(Unit)               | 설명 (Description)                 |
| -------------------- | ---------------------- | -------------------------------- |
| Response Time        | sec, μs, ms, min, hour | (완료된) SQL 문장이 수행된 총 시간           |
| Total Execution Time | sec, min, hour, μs, ms | 인스턴스 내에서 실행된 모든 SQL 쿼리의 소요 시간 합계 |

### Vacuum

| Name                 | 단위(Unit)             | 설명 (Description)                       |
| -------------------- | -------------------- | -------------------------------------- |
| Dead Tuple           | Count                | 삭제되었거나 업데이트로 인한 (dead) 튜플의 개수          |
| Dead Tuple Ratio     | Percent              | 전체 튜플 대비 dead 튜플 비율                    |
| Live Tuple           | Count                | 현재 유효한(live) 튜플 개수                     |
| Live Tuple Ratio     | Percent              | 전체 튜플 대비 live 튜플 비율                    |
| Total Relation Size  | MB, Byte, KB, GB, TB | 테이블 + 인덱스 + TOAST 영역 포함 전체 relation 크기 |
| Xid Age              | Count                | relfrozenxid 기준 트랜잭션 age               |
| Per To Wraparound    | Percent              | wraparound 위험도 비율                      |
| Table Size           | MB, Byte, KB, GB, TB | 테이블 크기                                 |
| Table Bloat Size     | MB, Byte, KB, GB, TB | 불필요하게 증가한 공간(bloat)의 추정 크기             |
| Table Bloat Ratio    | Percent              | 테이블 전체크기 대비 얼마만큼 bloat가 차지하는지          |
| N Mod Since Analyze  | Count                | 마지막 ANALYZE 이후 변경된 튜플 수                |
| Index Size           | MB, Byte, KB, GB, TB | 인덱스의 디스크 사용량                           |
| Index Bloat Size     | MB, Byte, KB, GB, TB | 인덱스에서 불필요하게 사용 중인 공간 크기                |
| Index Bloat Ratio    | Percent              | 인덱스 크기 대비 블로트 비율 (%)                   |
| Index Scans          | Count                | 인덱스가 사용된 총 스캔 횟수                       |
| Index Scan Ratio     | Percent              | 전체 테이블 스캔 중 인덱스 스캔이 차지하는 비율            |
| Vacuum Completed     | Event                | 수동 VACUUM 작업이 정상적으로 완료된 이벤트            |
| Vacuum Failed        | Event                | 수동 VACUUM 작업이 오류 또는 중단으로 인해 실패한 이벤트    |
| Autovacuum Completed | Event                | 자동 VACUUM 작업이 정상 완료된 이벤트               |
| Autovacuum Failed    | Event                | 자동 VACUUM 작업이 오류로 실패한 이벤트              |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tibero.com/sysmasterdb-for-postgresql1.0/8.3_manual/appendix/appendix-a.-instance-monitoring-components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
