Weitere ähnliche Inhalte
Ähnlich wie DB 모니터링 신규 & 개선 기능 (박명규) (20)
Mehr von WhaTap Labs (13)
DB 모니터링 신규 & 개선 기능 (박명규)
- 2. Session
발표자
기능 개선 및 신규 기능
DBX 모니터링
와탭랩스
1.기능 개선 및 신규 기능
2.문의사항 & 활용법
3.MySQL 모니터링
4.이벤트 활용
5.연계 모니터링
박명규
목차
- 3. - 3 -Copyright © 2019 Whatap – Developed by
실시간 모니터링
기능 개선 및 신규 기능
Database의 Stat지표, 수행중인 쿼리, 이벤트 정보를 실시간 모니터링하며,
사용자 관점의 뷰를 제공합니다.
Stat지표를 사용자
관점의 뷰로 설정할
수 있으며,
카테고리 구분 및
프리뷰 기능을 통해
선택의 편리성
- 4. - 4 -Copyright © 2019 Whatap – Developed by
실시간 모니터링
기능 개선 및 신규 기능
Database의 Stat지표, 수행중인 쿼리, 이벤트 정보를 실시간 모니터링하며,
사용자 관점의 뷰를 제공합니다.
발생된 이벤트 항목 클릭시
발생시점 전후 1시간의 트랜드
페이지를 통해
당시의 Stat지표와 수행되었던
쿼리 정보를 바탕으로
문제점과 현상에 대한 분석을
할 수 있음
- 5. - 5 -Copyright © 2019 Whatap – Developed by
멀티 인스턴스
기능 개선 및 신규 기능
다수 Database 의 상태, 로드밸런스, Stat지표, 수행중인 쿼리, 이벤트 정보를 실시간 모니터링하며,
사용자 관점의 뷰를 제공합니다.
실시간 모니터링의 기능과
다수의 Database 간 상태와
로드밸런스를 확인 할 수 있음
- 6. - 6 -Copyright © 2019 Whatap – Developed by
트랜드
기능 개선 및 신규 기능
Database 의 Stat지표, 수행 쿼리 정보를 통해 트랜드를 확인 할 수 있으며,
사용자 관점의 뷰를 제공합니다.
Stat지표를 클릭시 당시의
수행중인 쿼리를 확인 할 수
있으며, 보고자하는 컬럼을
선택할 수 있음
- 8. - 8 -Copyright © 2019 Whatap – Developed by
문의사항
문의사항 & 활용법
+ 문의사항
- Active Sessions 이벤트가 발생된 무렵 성능저하가 있었는데 분석방법을 알고 싶어요.
- DB서버 작업 전/후의 성능을 확인하고 싶어요.
- SQL Elapsed Time 에 실제 수행시간과 Wait Time을 구분해서 보고 싶어요.
- SQL 응답시간이 느려졌고, DB서버의 CPU가 올라간 건 확인을 했습니다. 이유를 알 수 있을까요?
- 배치 수행이 느려진 이유를 알고 싶어요.
- 어제 발생된 성능저하에 대해 분석하고 싶어요.
- 업무별 데이터베이스 사용 비중을 알고 싶어요.
- 업무별 문제가 되는 SQL을 뽑고 싶습니다.
- 중점 서비스시간 동안 5초이상 수행된 SQL을 확인하고 싶어요.
- 평소 점검을 위해 수행하는 쿼리를 활용할 수 있을까요?
- 9. - 9 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- Active Sessions 이벤트가 발생된 무렵 성능저하가 있었는데 분석방법을 알고 싶어요.
메뉴 : ‘이벤트’ -> ‘이벤트 기록’
1. 이벤트 기록을 조회
2. 관련 이벤트가 최초 발생된
항목을 클릭
3. 발생시간 1시간 전후의
트랜드에서 주요 Stat지표를
통해 이상지표 및 장애시간
확인
4. Active Session List 를 통해
장애시간 직전 수행했던 쿼리
중 이상여부 확인
- 10. - 10 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- DB서버 작업 전/후의 성능을 확인하고 싶어요.
메뉴 : ‘트랜드’ -> ‘트랜드 비교’
1. 위 선택 항목에 DB서버
작업 전/후 로 설정하고 조회
2. 비교하고자 하는 항목을
선택하여 주요 변경사항을
비교
이때 DB에 따라
수행중인 쿼리 수, 읽은
데이터량, 쿼리수, CPU, I/O,
이벤트 정보를 선택하여 비교
- 11. - 11 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- SQL Elapsed Time 에 실제 수행시간과 Wait Time을 구분해서 보고 싶어요.
Oracle, Tibero, PostgreSQL
에 대해 Wait Time을 수집
1. SQL통계
- elapse sum (sec)
- elapse wait (sec)
2. 액티브세션
- wait_time
- 12. - 12 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- SQL 응답시간이 느려졌고, DB서버의 CPU가 올라간 건 확인을 했습니다. 이유를 알 수 있을까요?
- 배치 수행이 느려진 이유를 알고 싶어요.
- 어제 발생된 성능저하에 대해 분석하고 싶어요. 메뉴 : ‘분석’ -> ‘트랜드’
1. 당시의 Stat지표를 통해
상황 확인 (CPU, Page
lookups/sec 등)
2. 액티브세션 을 통해
당시 수행중인 쿼리 정보에서
CPU 관련 정보 및 리소스
사용량 관련 정보 확인
- 13. - 13 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- 업무별 데이터베이스 사용 비중을 알고 싶어요.
메뉴 : ‘SQL통계’
1. 대상 기간을 설정하고 조회
2. ‘SCHEMANAME’ 탭을 선택
3. SCHEMANAME 별 사용량
조회를 통한 비중 확인
- 14. - 14 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- 업무별 문제가 되는 SQL을 뽑고 싶습니다 - I
메뉴 : ‘SQL통계’
1. 대상 기간을 설정하고 ‘sql
elapse max’ 정렬로 조회
2. ‘SCHEMANAME’ 탭을 선택
3. 해당 업무의
SCHEMANAME 선택
4. 조회된 내역을 통해 가장
수행시간이 길었던 쿼리의
수행주기 및 리소스 사용량에
대한 통계 데이터 확인
5. 해당 SQL 및 Plan 정보 확인
- 15. - 15 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- 업무별 문제가 되는 SQL을 뽑고 싶습니다 - II
메뉴 : ‘분석’ -> ‘락트리’
1. lock 구간을 클릭하여 조회
2. 락모드와 가해자 쿼리를
확인하고 업무적인 특징 확인
- 16. - 16 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- 중점 서비스시간 동안 5초이상 수행된 SQL을 확인하고 싶어요.
메뉴 : ‘SQL통계’
1. 중점 서비스시간을
설정하고 ‘sql elapse max’,
‘execute count’로 정렬하여
조회
2. 다양한 구분으로 원하는
데이터 추출
- 17. - 17 -Copyright © 2019 Whatap – Developed by
활용법
문의사항 & 활용법
- 평소 점검을 위해 수행하는 쿼리를 활용할 수 있을까요?
메뉴 : ‘분석’ -> ‘스크립트’
1. 사용하고자 하는 sql
파일을 DBX Agent
디렉토리로 복사하여 등록
ex) {DBXHome}/scripts/
{DB구분}/{SQL파일}
2. 복사 된 파일명이 왼쪽
메뉴로 리스트업되며 우측
‘실행’ 버튼을 통해 실행
- 19. - 19 -Copyright © 2019 Whatap – Developed by
주요 지표 확인
MySQL 모니터링
+ 주요 지표 설명
Threads_connected Total session counts
Threads_running Active session counts
Questions Execution counts
Com_select Select counts
Writes Insert + Delete + Update counts
Innodb_buffer_pool_read_requests Logical reads
Innodb_buffer_pool_reads Physical reads
Bytes_sent, Bytes_received data 전송량
Innodb_buffer_pool Innodb_buffer_pool_pages_(data,free,dirty,total)
- 20. - 20 -Copyright © 2019 Whatap – Developed by
Active Sessions List 확인
MySQL 모니터링
실시간 모니터링, 멀티 인스턴스, 트랜드를 통해 Active Sessions List 를 확인 할 수 있으며,
MySQL 에서 제공하는 ‘SHOW PROCESSLIST’ 와 동일한 내용을 보여줍니다.
1. 문제가 발생한 시점의
Stat지표와 Active Sessions
List 확인을 통해 문제점을
분석하게 됩니다.
2. time 이 높은 session이
부하가 클 가능성이 높으며,
State(Thread State) 참고
3. 쿼리를 확인하며 부하유발
가능성을 유추
- 21. - 21 -Copyright © 2019 Whatap – Developed by
innodb_buffer_pool 모니터링 - I
MySQL 모니터링
+ 지표 설명
Innodb_buffer_pool_pages_data 전체 버퍼풀에서 현재 사용중인 버퍼풀 페이지 수
Innodb_buffer_pool_pages_dirty 버퍼풀의 데이터 중 변경된 페이지 수 (더티페이지 수)
Innodb_buffer_pool_pages_flushed 버퍼풀에서 플러시한 페이지 수
Innodb_buffer_pool_pages_free 전체 버퍼풀에서 사용하지 않은(사용가능한) 페이지
수
Innodb_buffer_pool_pages_total 전체 버퍼풀의 페이지 수
Innodb_buffer_pool_bytes_data 전체 버퍼풀에서 현재 사용중인 버퍼풀 바이트 수
Innodb_buffer_pool_bytes_dirty 버퍼풀의 데이터 중 변경된 바이트 수(더티 데이터 수)
Innodb_buffer_pool_dump_status 버퍼풀에 보관된 페이지를 기록한 상태
Innodb_buffer_pool_load_status 버퍼풀이 이전 시점에 해당하는 페이지를 읽음으로 워
밍업을 진행한 페이지 수
Innodb_buffer_pool_pages_misc Row lock, hash index 와 같이 오버헤드에 할당되어 사
용된 버퍼풀의 페이지 수
Innodb_buffer_pool_read_ahead_evicted 버퍼풀에 미리 읽어들인 페이지 중 사용되지 않고 제거
된 페이지 수
- 22. - 22 -Copyright © 2019 Whatap – Developed by
innodb_buffer_pool 모니터링 - II
MySQL 모니터링
+ 지표 설명
Innodb_buffer_pool_read_ahead_rnd 랜덤으로 미리 읽기가 발생한 페이지 수
Innodb_buffer_pool_read_ahread 미리 읽기 백그라운드 스레드가 버퍼풀로 미리 읽어들
인 페이지 수
Innodb_buffer_pool_read_requests 버퍼풀에서 논리적인 읽기 요청 횟수
Innodb_buffer_pool_reads 버퍼풀에 데이터가 없어서 디스크에서 직접 읽은 논리
적 수
Innodb_buffer_pool_resize_status 버퍼풀의 크기를 동적으로 조정하는 작업 상태
Innodb_buffer_pool_wait_free 페이지를 읽거나 생성할때 사용가능한 클린 페이지가
없을 경우 InnoDB가 더티페이지를 비우고 그 작업이
끝나기를 기다리는 값
Innodb_buffer_pool_write_requests 버퍼풀에 대한 쓰기 횟수
- 24. - 24 -Copyright © 2019 Whatap – Developed by
이벤트 설정
이벤트 활용
각 Stat지표 별 Warning/Critical 이벤트 설정이 가능하며, 개별적용 or 전체적용하여 이벤트 알람을
받을 수 있습니다.
메뉴 : ‘이벤트’ -> ‘이벤트설정’
1. 우측 상단의 ‘Add’
2. 이벤트 대상 Stat지표 선택
3. Warning / Critical 임계치
설정
4. 이벤트 박스 우측 상단의
‘On/Off’ 를 선택
5. 좌측 하단의 ‘Save/Revert’
6. 선별적 적용 or 전체 적용
- 25. - 25 -Copyright © 2019 Whatap – Developed by
이벤트 수신설정
이벤트 활용
프로젝트 멤버를 대상으로 이벤트 알람을 수신받는 조건을 다양하게 설정 가능하며,
Telegram / Slack 등의 SNS도 활용 할 수 있습니다.
메뉴 : ‘이벤트’ ->
‘이벤트 수신설정’
1. 상단 알람설정에서 이벤트
수신대상에 대한 정보 설정
2. 중간 써드파티플러그인
통해서 ‘Telegram / Slack’
연동 설정
- 26. - 26 -Copyright © 2019 Whatap – Developed by
이벤트 기록
이벤트 활용
이벤트 기록을 통해 과거의 이벤트를 조회하거나, 실시간 이벤트 정보를 수신 할 수 있으며,
이벤트 클릭시 트랜드를 통해 전후 Stat지표 및 수행중이었던 쿼리정보를 분석 할 수 있습니다.
메뉴 : ‘이벤트’ -> ‘이벤트기록’
1. 기간 설정 후 조회
2. 조회된 이벤트를 클릭하여
트랜드 페이지로 이동
3. 이벤트 발생 당시의
Stat지표 및 액티브세션으로
발생원인 분석
- 28. - 28 -Copyright © 2019 Whatap – Developed by
통합대쉬보드
연계 모니터링
통합대쉬보드를 통해 APM/Server/DBX 프로젝트를 한화면에서 동시 모니터링이 가능합니다.
1. 좌측 APM 을 구성
2. 우측 DB의 주요 Stat지표
구성
3. 고객 서비스에 문제 발생시
관련 영향도를 한눈에 파악
- 29. - 29 -Copyright © 2019 Whatap – Developed by
APM 연계분석
연계 모니터링
APM Hitmap 의 트랜잭션 응답시간 분포패턴과 DB의 지표 패턴이 유사한 내역을 찾아 원인을
추적하는 연계 분석 방법입니다.
- 30. 감사합니다.
이 문서의 저작권은 (주)와탭랩스에 있습니다.
이 문서는 (주)와탭랩스의 서면동의 없이 어떤 형태로도 재생산, 배포, 변경할 수 없습니다.