Skip to main content

PostgreSQL

다수의 PostgreSQL 서버를 모니터링 할 수 있는 화면입니다. 하나의 데이터베이스가 선택되면 Overview, Session, Core 6 등 선택된 데이터베이스의 데이터만으로 변경되어 단일 데이터베이스에 대한 집중적인 모니터링이 가능합니다. 상단 브레드 크럼을 이용하여 폴더 변경이 가능합니다.


1) Overview 폴더에 속한 인스턴스의 CPU, Memory, 주요 성능 지표를 함께 확인할 수 있습니다. 목록에서 인스턴스 클릭 시 선택한 인스턴스가 하이라이트 되며, 다른 지표들도 선택한 인스턴스의 데이터를 하이라이트로 볼 수 있습니다.


2) DB Session Type Active Session, Long Session, Lock Session을 색상으로 구분하여 실시간으로 각 Session 상태의 Count를 확인할 수 있습니다.


3) Rank 주요 성능 6가지를 선별하여 직관적인 모니터링이 가능합니다. 타이틀 클릭 시 인스턴스 별 순위, 등록된 인스턴스들의 성능 데이터를 비교하여 인스턴스 별 비율과 10분 추이를 확인할 수 있습니다.

4) Vacuum Usage(%) Vacuum age 사용률을 보여줍니다. 인스턴스 클릭 시 Dead Tuple 수가 높은 Object를 확인할 수 있는 ‘Top 10 Object List’ 팝업창으로 연계됩니다.

● Grid

순번항목내용
1Rank순위
2Schema NameSchema 이름
3Object NameObject 이름
4Object TypeObject Type
5Total Size총 Block 크기
6Diff Size10분 동안의 Block 크기 변화량
7Dead Tuple10분 동안의 Dead Tuple 수 변화량
8Dead Tuple Ratio10분 동안의 Dead Tuple 수 변화량 비율

5) Temp Usage (Size) Temp의 현재 사용량을 보여줍니다. 인스턴스 클릭 시 Temp 사용량이 높은 SQL을 확인할 수 있는 ‘Top 10 SQL Order by Temp Blocks Written’ 팝업창으로 연계됩니다.

● Grid

순번항목내용
1Rank순위
2User ID사용자 ID
3SQL IDSQL ID
4Query실행 쿼리
5Calls호출 횟수
6Temp Blocks Written10분 동안의 명령문에서 쓴 총 임시 블록 수 변화량

6) Filesystem Usage (Size) Object 디스크 사용량을 보여줍니다. 인스턴스 클릭 시 크기가 큰 Object를 확인할 수 있는 ‘Filesystem Usage’ 팝업창으로 연계됩니다.

● Grid

순번항목내용
1Rank순위
2Schema NameSchema 이름
3Object NameObject 이름
4Object TypeObject 유형(Table, Index)
5Total SizeObject 총 크기
6Diff Size10분 동안의 Object 총 크기 변화량

7) Query IO (%) Shared Buffer의 데이터를 쓰는 비율을 보여줍니다. 인스턴스 클릭 시 Shared Block Read 사용이 높은 SQL을 확인할 수 있는 ‘Top 10 SQL Order by Shared Block Read’ 팝업창으로 연계됩니다.

● Grid

순번항목내용
1Rank순위
2User ID쿼리를 실행했던 사용자 ID
3SQL IDSQL ID
4Query수행된 쿼리
5Calls실행 횟수
6Elapsed Time수행 시간
7Shared Blocks Hits명령문에 의한 총 Shared Block 캐시 Hit 수
8Shared Blocks Read명령문에서 읽은 총 Shared Block 수

8) Transaction Time (Time) 트랜잭션이 실행된 시간이 긴 세션을 보여줍니다. 인스턴스 클릭 시 Session 정보를 자세히 확인할 수 있는 ‘Session Detail’ 팝업창으로 연계됩니다.

● Grid

순번항목내용
1PIDBackend 프로세스 ID
2User NameBackend에 로그인한 사용자 이름
3App NameBackend에 연결된 애플리케이션 이름
4Client AddressBackend에 연결된 클라이언트 IP주소 (이 필드가 null이면 클라이언트가 서버 시스템의 unix 소켓을 통해 연결되었거나 이것이 autovacuum과 같은 내부 프로세스임을 나타냅니다.)
5Client Host NameBackend에 연결된 클라이언트의 호스트 이름
6Backend StartBackend 시작 시간
7Elapsed Time (sec)수행 시간 (초)
8SQL Text수행 쿼리
9Wait EventBackend가 현재 대기 중인 경우 대기 이벤트 이름 (없으면 null)
10Wait Event TypeBackend가 대기 중인 이벤트 유형 (없으면 null)
11StateBackend의 현재 상태
12Xact StartBackend 트랜잭션이 시작된 시간 (트랜잭션이 없으면 null)
13Query Start쿼리가 시작된 시간 (비활성화 상태인 경우 마지막 쿼리가 시작된 시간)
14State ChangeState가 마지막으로 변경된 시간

9) Alert 인스턴스에서 발생한 Alert을 Level, Type 별로 보여줍니다.


10) Real Time Monitor 데이터베이스의 활동성 및 지연에 관한 지표들을 이용하여 Chart 형식의 모니터링을 할 수 있습니다. 기본적으로 4개의 주요 성능 지표에 대한 모니터링이 가능하며, 시스템 및 업무 특성에 따라 원하는 성능 지표로 변경 및 확장이 가능합니다.

10-1) Slow Query SQL의 수행시간을 Scatter 차트로 확인할 수 있습니다. 등록된 인스턴스들의 Slow Query를 확인하거나 특정 인스턴스를 선택해서 확인할 수 있습니다. 를 선택하면 ‘Slow Query Option’ 팝업창이 뜨고 Max Value 값과 점의 크기를 변경할 수 있습니다.

순번항목내용
1Set Max ValueSlow Query 차트에 표시할 Query최대 수행 시간입니다.
Set Max Value 옵션 설정 시 설정된 값으로 차트를 그립니다.
Slow Query 타이틀 영역에서는 Max 값이 넘는 Query 수와 Slow Query 중 가장 수행시간이 긴 Query의 시간을 확인할 수 있습니다.
Set Max Value 옵션을 설정하지 않은 경우 Slow Query 중 수행시간이 긴 Query 의시간을 Max값으로 차트를 그립니다.
2Set Dot SizeSlow Query 차트를 그릴 점의 크기를 1~5 크기로 설정할 수 있습니다.

Slow Query 점을 드래그 하면 ‘SQL Elapsed List’ 팝업창이 나타나며 드래그 영역에 수집된 SQL 목록을 확인할 수 있습니다.

● Grid

순번항목내용
1PIDBackend 프로세스 ID
2User NameBackend에 로그인한 사용자 이름
3App NameBackend에 연결된 애플리케이션 이름
4Client AddressBackend에 연결된 클라이언트 IP주소 (이 필드가 null이면 클라이언트가 서버 시스템의 unix 소켓을 통해 연결되었거나 이것이 autovacuum과 같은 내부 프로세스임을 나타냅니다.)
5Client Host NameBackend에 연결된 클라이언트의 호스트 이름
7Elapsed Time (sec)수행 시간 (초)
8Query수행 쿼리

SQL List를 더블 클릭하면 12) Session Detail Popup으로 연계되며 SQL, Plan 및 세부적인 정보를 확인할 수 있습니다. (자세한 사항은 6.1.3.2. Session Detail Slide 참고)

10-2) Trend Chart 데이터베이스의 활동성 및 지연에 관한 지표들을 이용하여 Chart 형식의 모니터링 화면을 제공합니다. 기본적으로 4개의 주요 성능 지표에 대한 모니터링이 가능하며, 시스템 및 업무 특성에 따라 원하는 성능지표로 변경 및 확장이 가능합니다. 를 클릭하여 지표를 변경할 수 있습니다. ‘Stat Change’ 팝업창에서 지표를 변경합니다.


11) Session Tab Multi View 화면 하단 Session Tab 버튼을 클릭하면 슬라이드 아웃 형태로 Backend 목록을 확인할 수 있습니다. Overveiw나 Trend Chart를 통해 데이터베이스의 비정상적인 상태를 인지했을 때, Session Tab에서 현재 SQL을 실행하고 있는 Active Backends, Lock Backends 정보를 확인하여 원인이 되는 Backends를 찾을 수 있고, 필요하다면 강제로 종료할 수 있습니다.

11-1) Active Backends 현재 실행중인 Backends 목록을 확인할 수 있습니다. 멀티 데이터베이스 모니터링을 지원하며 우측 상단에서 원하는 인스턴스만 모니터링이 가능하도록 선택할 수 있습니다.

● Grid

순번항목내용
1PIDBackend 프로세스 ID
2User NameBackend에 로그인 한 사용자 이름
3App NameBackend에 연결된 애플리케이션 이름
4Client AddressBackend에 연결된 클라이언트 IP 주소 (이 필드가 null이면 클라이언트가 서버 시스템의 unix 소켓을 통해 연결되었거나 이것이 autovacuum과 같은 내부 프로세스임을 나타냅니다.)
5Client Host NameBackend에 연결된 클라이언트 호스트 이름
6Backend StartBackend 시작 시간
7Elapsed Time (sec)수행 시간 (초)
8SQL Text수행 쿼리
9Wait EventBackend가 현재 대기중인 경우 대기 이벤트 이름 (없으면 null)
10Wait Event TypeBackend가 대기중인 이벤트 유형 (없으면 null)
11StateBackend의 현재 상태
12Xact StartBackend 트랜잭션이 시작된 시간 (없으면 null)
13Query Start쿼리가 시작된 시간 (비활성화 상태인 경우 마지막 쿼리가 시작된 시간)
14State ChangeState가 마지막으로 변경된 시간

11-2) Lock Tree 현재 Lock 상태의 Backends 목록을 확인할 수 있습니다. 멀티 데이터베이스 모니터링을 지원하며 우측 상단에서 원하는 인스턴스만 모니터링이 가능하도록 선택할 수 있습니다.

● Grid

순번항목내용
1PIDBackend 프로세스 ID
2Lock StatusLock 상태 (Holder, Waiter)
3Holder PIDHolder 프로세스 ID
4User IDBackend에 로그인 한 사용자 이름
5Statement수행 쿼리
6Query Start쿼리가 시작된 시간 (비활성화 상태인 경우 마지막 쿼리가 시작된 시간)
7Collect TimeexemONE이 수집한 시간

12) Session Detail Popup 특정 Active Backends 또는 Lock Tree를 더블 클릭하면 Session Detail 팝업창이 나타나며 세부 정보와 실행 중인 SQL 정보를 확인할 수 있습니다.   버튼을 통해 현재 실행 중인 Session을 종료할 수 있습니다.