데이터베이스 모니터링 서비스 가이드

제목 : 데이터베이스 모니터링 서비스 가이드
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2019-10-22
버전 : v1.0.1

설명 : 본 문서는 WhaTap 데이터베이스 모니터링 서비스에 대해 설명합니다.

1. Oracle User Guide

1.1. Instance List

1.1.1. Server List

server list

해당 프로젝트에서 모니터링하고 있는 서버의 목록을 볼 수 있습니다.

이름

설명

CPU

데이터베이스 CPU사용량

Active Sessions

쿼리를 실행중인 세션 수

Lock Wait Sessions

Lock을 wait하는 세션 수

Session logical reads

데이터를 buffer cache내에서 읽은 횟수

Excute count

SQL실행 수

1.2. Monitoring

1.3. RealTime Monitoring

1.3.1. 실시간 모니터링 개요

실시간 모니터링 페이지에서는 데이터베이스 서버의 핵심 지표와
Active Session에 대한 상세한 정보, Lock Tree, PQ tree, Process 정보와 문제가 될 수 있는 경고들을 볼 수 있습니다.

realtime monitoring
Figure 1. 실시간 모니터링 대시보드(인스턴스별)
realtime monitoring multidb
Figure 2. 실시간 모니터링 대시보드(데이터베이스별)

1.3.2. 차트 상세 정보

실시간으로 수집되는 데이터베이스 서버의 정보를 차트를 통해 볼 수 있습니다.
차트 우측 상단 아이콘을 클릭하면 차트를 지정할 수 있는 메뉴가 나옵니다.

monitoring chart
Figure 3. 차트
chart item selector
Figure 4. 차트 지표 선택창

기본적으로 8개의 차트가 보여지며, GRID SETTING 버튼을 통해 페이지에 들어갈 차트의 수를 변경할 수 있습니다.

grid setting
Figure 5. GRID SETTING 버튼
grid setting modal
Figure 6. GRID SETTING 선택창
realtime monitoring 4x4
Figure 7. 실시간 모니터링 대시보드 (차트 4X4)
  • 지표 설명

이름

설명

session logical

reads 데이타를 buffer cache 내에서 읽은 횟수.

physical reads

데이타를 물리적인 disk 에서 읽은 횟수.

execute count

sql 의 실행 갯수

opened cursors current

현재 열려 있는 cursor 의 갯수

parse count (hard)

hard parse 횟수

parse count (total)

전체 parse 횟수 (hard + soft)

db block changes

db block 변경 횟수

enqueue waits

enqueue 대기 횟수

logons current

현재 logon 되어 있는 갯수

user commits

commit 실행 횟수

CPU used by this session

session 에 의해 사용된 cpu time 의 합.

DB time

physical writes

데이타를 disk 에 기록한 횟수.

sorts (memory)

active sessions

쿼리를 실행중인 세션 수

total sessions

모든 세션 수

wait sessions

event 를 wait 하는 세션 수

lock wait sessions

lock 을 wait 하는 세션 수

long running sessions

실행시간이 긴 세션 수

total elapse time

active session 들의 실행 시간 합

txn sessions

transaction 이 있는 세션 수

pq sessions

parallel query 를 실행중인 세션 수

1.3.3. Active Sessions

Active Sessions 개요

쿼리를 실행중인 세션을 볼 수 있습니다.

active sessions
Figure 8. Active Sessions
SQL TEXT

SQL TEXT를 클릭하시면 해당 쿼리에 대한 자세한 정보를 볼 수 있습니다.

sql text
Figure 9. Active Sessions

1.3.4. Alerts

미리 설정 해 놓은 지표들의 알림을 볼 수 있습니다.

alerts
Figure 10. Alerts

Trends 페이지에서는 특정 시간대의 데이터베이스 서버의 핵심 지표와 Active Sessions에 대한 정보등을 볼 수 있습니다.

trends
Figure 11. Trends Page

1.5.2. 차트 상세 정보

특정 시간대에 수집한 데이터베이스 서버와 정보를 차트를 통해 볼 수 있습니다. 화면에는 3개의 차트를 지정해서 볼 수 있습니다. 차트 우측 상단 아이콘을 클릭하면 차트를 지정할 수 있는 메뉴가 나옵니다.

trends chart
Figure 12. Trends Page

1분 단위로 그려진 차트의 특정 시간 지점을 클릭하면 해당 지점에 붉은 선으로 표시가 되며 해당 시간에 수집된 가장 마지막 Active Session을 볼 수 있습니다.

trends redline
Figure 13. Trends Chart Click Effect
trends selected time
Figure 14. Selected Time

1.5.3. Active Sessions

시간을 선택해서 해당하는 시간에 실행했던 쿼리를 볼 수 있습니다.

trends active sessions
Figure 15. Trends Active Sessions
Active Sessions 시간 선택

5초 단위로 수집된 Active Session을 선택해서 볼 수 있습니다. Active Session 정보가 보여지는 테이블 아래의 5초 단위의 데이터가 있는 셀을 선택하면 해당 시간의 Active Session을 볼 수 있습니다.

trends active sessions time
Figure 16. Trends Active Sessions Time Selector
  1. Autoplay: 실시간 데이터처럼 자동으로 다음 데이터를 확인

  2. Speed: AutoPlay을 진행할 속도를 설정

  3. Arrow button: 현재 보고있는 시간을 분단위로 이동

  4. Data Cell: 5초단위로 데이터가 들어있는 Cell 남색 부분이 데이터가 존재하는 부분

  5. Cell arrow button: 현재 보고있는 Cell을 다음 Cell로 이동

2. SQL Stat

SQL Stat 페이지에서는 특정 기간동안 사용한 SQL 쿼리문의 통계를 볼 수 있습니다.

sql stat
Figure 17. SQL Stat Page

많은 비율을 차지하고 있는 쿼리문이 무엇인지 한 눈에 보기 쉽게 볼 수 있습니다.

쿼리문을 클릭하면 해당 쿼리문을 자세히 볼 수 있습니다.

sql stat sql text
Figure 18. SQL Stat Page

테이블 왼쪽의 + 버튼을 클릭하면 해당 쿼리문의 시간당 실행 횟수를 볼 수 있는 차트가 나옵니다.

막대 하나당 5분동안의 값을 가지고 있습니다.
  • 지표 설명

이름

설명

sql

실행된 SQL query

execute count

실행한 횟수

sql elapse avg(sec)

한 번 실행될 때의 평균 시간

sql elapse sum(sec)

전체 실행된 시간 합

sql elapse wait(sec)

전체 실행중 wait에 걸린 시간 합

sql elapse max(sec)

가장 길게 실행된 시간

2.1. Analysis

2.2. Lock Tree

락에 대한 정보를 확인할 수 있습니다. holder와 waiter의 구조를 트리 형태로 표현하여 제공합니다.

lock tree
Figure 19. Lock Tree Page

2.3. PQ Tree

PQ의 정보를 트리 구조로 확인하실 수 있습니다. PQ Tree는 하루 동안 Parallel Query가 발생한 추이를 분석할 수 있습니다. 실제 작업을 수행하는 Slave Process들과 이들에게 작업을 할당한 Coordinator Process를 구분하여 보여주며, 전체 수행 정보를 알기 쉽게 표시하며, 특정 시점에 수행한 Parallel Query 정보를 제공하여 어떤 목저으로 사용되었는지 확인하는데 도움이 될 수 있습니다.

pq tree
Figure 20. PQ Tree Page
  • 지표 설명

이름

설명

sid

session의 id

username

db user

program

클라이언트에서 실행한 프로그램 정보

machine

session 에 접속한 클라이언트 서버이름(hostname)

module

클라이언트에서 실행한 프로그램 정보와 비슷하지만, 유저가 설정한 module 값

spid

os process id

process

session 에 접속한 클라이언트 프로세스 id

status

session 상태

serial#

동일한 session id를 사용한경우 판별하기 위해 증가시키는 값

last_call_et

얼만큼 수행이되지고 있는지. elpase time

event

대기 하고 있는 이벤트정보

wait_time

이벤트를 기다린 시간 state. 0보다 큰경우 의미 있음

logon_time

session이 생긴 시점

session logical read (stat1)

데이타를 buffer cache 내에서 읽은 횟수.

physical read (stat2)

데이타를 물리적인 disk 에서 읽은 횟수.

block changes (stat7)

db block 변경 횟수

undo_segid

undo 정보 id

undo_blk

undo 블럭 개수

undo_rec

undo 레코드 개수 - (commit안한)

sql_text

query

param

query param

prev_sql_text

이전에 실행한 query

param

이전에 실행한 query parm

sid

session의 id

username

db user

2.4. DB Parameter

DB Parameter 페이지에서는 database의 parameter 값을 날짜별로 비교하기 쉽도록 만들어진 페이지입니다.
기본적으로 현재 시간의 데이터를 볼 수 있으며, 과거 날짜를 선택하여 최대 3개의 시점까지 비교가 가능합니다.

db parameter
Figure 21. DB Parameter Page

값의 변화가 있는 경우 'View changes' 버튼을 통하여 변화가 있는 데이터만 볼 수 있습니다.

view change
Figure 22. View changes Button
db parameter compare
Figure 23. After View changes

2.5. Table Space

table space페이지에서는 database의 table space를 비교하여 볼 수 있습니다.

기본적으로 1일전의 table space와 오늘의 table space를 비교하여 보여주며, 7일전, 30일 전과도 비교할 수 있습니다.

table space
Figure 24. Table Space Page

2.6. SGA

SGA페이지에서는 database의 SGA를 비교하여 볼 수 있습니다.

기본적으로 1일전의 SGA와 오늘의 SGA를 비교하여 보여주며, 7일전, 30일 전과도 비교할 수 있습니다.

sga
Figure 25. SGA Page

2.7. Weekly/Monthly Counter

주간/월간 카운터 페이지에서는 주간, 월간으로 수집된 카운터 정보에 대한 그래프를 시작시간과 기간을 조합하여 조회할 수 있습니다. 한시간 데이터는 1분 단위로, 하루 데이터는 5분 단위로, 하루 이상의 데이터는 1시간 단위로 보여집니다. 인스턴스를 여러개 선택하여 디비 서버 별로 빅분석도 간단하게 할 수 있습니다.

2.8. Event

2.9. Event History

이벤트 기록 페이지에서는 발생했던 이벤트의 기록을 확인할 수 있습니다.

event history
Figure 26. Event List Page

직접 설정한 이벤트 정보 외ㅏ에도 Active, Inactive등 중요한 이벤트들을 확인하실 수 있습니다.

2.10. Event Stat

이벤트 통계 페이지에서는 발생했던 이벤트의 통계를 확인할 수 있습니다.

event stat
Figure 27. Event Stat Page

지정한 기간동안 발생한 이벤트의 종류당 건수를 확인하실 수 있으며, + 버튼을 클릭하시면 시간대별 발생 건수를 막대 그래프로 확인하실 수 있습니다.

2.11. Event Setting

이벤트 설정 페이지에서는 알림을 받고 싶은 이벤트를 설정할 수 있습니다.

event setting
Figure 28. Event Setting Page

Add 벝느을 클릭하면 새로운 이벤트를 추가할 수 있으며, 새로운 이벤트가 추가가 된 것을 확인할 수 있습니다. 새로 추가된 이벤트는 기본적으로 OFF로 되어있으며, 해당 이벤트를 ON 하면 알림을 받을 수 있습니다.

event setting add
Figure 29. Add Event

이름

설명

Warning

해당 지표의 경고 알림을 받기까지의 임계값

Critical

해당 지표의 치명적 알림을 받기까지의 임계값

Count

해당 지표의 알림이 발생하기 까지의 데이터 수집 횟수

2.12. Event Notification Setting

이벤트 수신 설정 페이지에서는 이벤트가 발생했을 경우, 수신을 받을 방식을 설정할 수 있습니다.
기본적으로 이메일이나 모바일로 받을 수 있으며, Slack이나 Telegram에 플러그인을 적용해, 이벤트를 수신받을 수 있습니다.

event noti
Figure 30. Event Notification Setting Page
event setting add
Figure 31. Add Event

2.13. Report

2.14. Daily Report

일일 보고서 페이지에서는 하루의 종합적인 정보를 통해서 한눈에 파악하기 쉽도록 도와주는 성능 데이터를 요약해서 보고서 형태로 제공해 드리고 있습니다. 날짜단위로 조회가 가능합니다.

daily report
Figure 32. Daily Report Page