Microsoft Word - 기술노트[72회-부록] 자몽 소개 및 설치 가이드.doc

Similar documents
본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

목 차

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

The Self-Managing Database : Automatic Health Monitoring and Alerting

[Brochure] KOR_TunA

Windows 8에서 BioStar 1 설치하기

MySQL-Ch10

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Oracle Database 10g: Self-Managing Database DB TSC

Jerry Held

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

untitled

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

歯sql_tuning2

Remote UI Guide

1217 WebTrafMon II

슬라이드 1

PowerPoint 프레젠테이션

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

LXR 설치 및 사용법.doc

PCServerMgmt7

슬라이드 1

Chapter 1

Orcad Capture 9.x

Simplify your Job Automatic Storage Management DB TSC

PowerPoint 프레젠테이션

Table of contents 1. 구성도 Maxgauge For MySQL 설치정보... 6 설치파일정보... 6 포트정보... 6 주요디렉토리... 6 소프트웨어기동 / 종료... 7 기동... 7 종료 Maxgauge For MySQ

Secure Programming Lecture1 : Introduction

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

(SW3704) Gingerbread Source Build & Working Guide

62

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Interstage5 SOAP서비스 설정 가이드

Microsoft Word - cents_yum 으로 APM_zend_optimizer_정현호_.doc

슬라이드 1

Oracle Database 11g R2 Installation Guide for OEL5(x86) Writer : 이경호

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Server Agent Guide

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

APOGEE Insight_KR_Base_3P11

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Apache install guide

단계

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Microsoft PowerPoint - 07-EDU-Apache-9-1.ppt

슬라이드 1

Sena Technologies, Inc. HelloDevice Super 1.1.0

NTD36HD Manual

목차 1. 시스템구성 개요 정의 목적 환경 준비사항 Oracle Install configuration Xshell 에

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

목차 1. 사전준비 mod_ssl OpenSSL 인증서파일 2. 주의사항 신규및갱신구분 CSR 직접생성여부 3. 인증서설치 httpd.conf 설정 httpd-ssl.conf 설정 갱신설치 서비스재시작 4. 확인및테스트 서비스구동확인 네트워크상태확인 방화벽확인 실제브라

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

오라클 데이터베이스 10g 핵심 요약 노트

PRO1_04E [읽기 전용]

Apache( 단일도메인 ) SSL 인증서갱신설치가이드 본문서는주식회사한국기업보안에서 SSL 보안서버인증서설치를위해작성된문서로 주식회사한국기업보안의동의없이무단으로사용하실수없습니다. [ 고객센터 ] 한국기업보안. 유서트기술팀 Copyright 201

슬라이드 1

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

Page 1 / 솔루션소개 Magento Magento 는강력한기능을제공하는오픈소스쇼핑몰제작관리도구입니다. 커스터마이징가 능한글로벌쇼핑몰구축시에사용을권장하며, 자체마켓플레이스를보유하고있을정도 로다양한기능을유 / 무료로추가할수있습니다. 2. 설치버전 하기명시된

Oracle Wait Interface Seminar

Advanced Oracle Document Enterprise Manager Cloud Control 12c R1( ) [OMS Part] Author: Hyun-Ho, Jung Site: Job: Oracle

untitled

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Mango220 Android How to compile and Transfer image to Target

10X56_NWG_KOR.indd

6주차.key

NoSQL

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

Oracle Regular Expression

DBMS & SQL Server Installation Database Laboratory

휠세미나3 ver0.4

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

문서 대제목

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

View Licenses and Services (customer)

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Assign an IP Address and Access the Video Stream - Installation Guide

PowerPoint 프레젠테이션

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

MySQL-.. 1

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

제목을 입력하세요.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

Cloud Friendly System Architecture

最即時的Sybase ASE Server資料庫診斷工具

PowerPoint 프레젠테이션

RedHat Linux Fedora Core 4 + APM 소스컴파일설치 김희균 [ 사전준비 : 리눅스시디, 리눅스설치공간준비와컴퓨터의 IP 주소와넷마스크, 게이트웨이주소기록 1. Linux 시디로부팅을한다. 2. Gra

chapter1,2.doc

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

Page 1 / 솔루션소개 WordPress WordPress는세계에서가장인기있는오픈소스웹사이트제작관리도구입니다. 웹표준, 접근성, SEO( 검색엔진최적화 ) 등의강점이있으며다양한테마와확장기능을제공합니다. 2. 설치버전 하기명시된버전은권장설치버전이며필요시다른

uFOCS


Transcription:

ZAMONG 소개및설치가이드 Author 박성현 Creation Date 2018-03-14 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2018-03-08 박성현초안작성

Contents 1. Zamong 소개... 3 Key Features... 3 Using direct memory access method... 3 No load on oracle db and server at all... 3 Stats and Session details can be extracted in hang state... 3 You can analyze oracle instance and sessions at a certain point in the past... 4 Intuitive dashboard for real time monitoring, web-based user interface for analysis... 4 Other Features... 5 It's Simple, DBA can build the system on his own... 5 All character set supported... 5 Just Free... 5 Compared with other solutions... 5 Query-based DB monitoring solutions... 5 Oracle Automatic Workload Repository (AWR)... 6 Platforms Supported... 6 2. 사용가이드... 7 2.1. URL 접속... 7 2.2. Zamong_Dashboard... 8 2.3. Zamong_Clues... 12 2.4. Zamong Architecture... 16 2.5. Zamong Agent install... 16 2.5.1. 자몽 Agent 설치...17 2.6. Zamong Server install... 18 2.6.1. Mysql Install...18 2.6.2. Apache & PHP Install...22 2.6.3. Zamong Install...25 2.7. 프로세스기동확인... 26 3. ETC... 28 3.1. 파일다운로드... 28-2

1. Zamong 소개 Key Features Using direct memory access method Oracle DB 에액세스하지않고직접메모리액세스방식을사용하여 Oracle DB 내부상태 (v$sysstat, v$system_event) 및엑티브세션세부사항 (v$session, sql-text..) 을수집합니다. Zamong 에이전트는 SQL 쿼리를사용하지않습니다. 메모리에서매초통계및세션세부정보를읽습니다. No load on oracle db and server at all DB 서버에연결하지않으며 SQL 쿼리를사용하지않습니다. Direct memory access 방식을사용함으로써 DB 서버 에부하없이 Oracle DB 내부상태및엑티브세션세부정보를추출할수있습니다. Direct memory access 방식 은초당 100 번이상수행할수있을정도로빠르고가볍습니다. Stats and Session details can be extracted in hang state Oracle DB 가 HANG 상태이거나서버에심각한성능저하가발생하여 DB 에연결된각세션에서쿼리결과를 받을수없는경우에도 zamong 은메모리주소를참조하기때문에 DB 에영향을미치지않고세부사항을추출 할수있습니다 - 3

You can analyze oracle instance and sessions at a certain point in the past 추출된데이터는 db (mariadb 또는 mysql) 에저장되며 ORACLE DB 내부상태와 Active Session 상태는 언제든지 1 초간격으로분석할수있습니다 Intuitive dashboard for real time monitoring, web-based user interface for analysis 실시간모니터링을위한대시보드, 분석을위한웹기반사용자인터페이스가제공되어 DB 상태를직관적으로식 별합니다. - 4

Other Features It's Simple, DBA can build the system on his own 시스템에 mariadb ( 또는 mysql), apache http server + php 가설치되어있으면매우빠르게모니터링시스템을구축할수있습니다. zamong 설치파일을다운로드하여특정디렉토리에복사하십시오. 또한기존 UI 에관리웹페이지를추가할수있습니다. zamong 웹기반사용자인터페이스의전체구조는매우간단하므로 DB 모니터링환경을직접구축하고, 이를사용하지않고이점을확인하는데사용할수있습니다. 그리고약간의웹개발기능이있다면 zamong 웹기반사용자인터페이스에서자신만의웹페이지를추가할수있습니다. All character set supported Zamong 프로그램은 Chrome 브라우저에서만작동합니다. Zamong 프로그램은엑티브세션의 SQL 쿼리를바이너리로저장하고 SQL 쿼리문자열을브라우저를통해봅니다. 따라서문자인코딩 - 디코딩은크롬브라우저에서수행되며화면에표시됩니다. Chrome 브라우저에 Chrome Set Character Encoding 확장자를추가하면언어문자집합이포함된 SQL 문을올바르게볼수있습니다. ( 예 : 한국어, 중국어, 일본어...) Just Free 이제품의라이센스는무료입니다. 매년초제품키를홈페이지에서다운로드하여무료로갱신하실수있습니다. Compared with other solutions Query-based DB monitoring solutions 쿼리기반 DB 모니터링솔루션은예상치못한오류의위험을증가시킵니다. 쿼리를수행하여오라클인스턴스 상태정보와액티브세션정보를추출하는방법은하나의쿼리를수행하기위해 DB 에서내부적으로많은재귀 쿼리를수행함으로써수행됩니다. 이러한재귀쿼리는공유풀에서래치경합을일으킬수있습니다. 서버의쿼리응답시간, CPU 사용량, 엑티브세션수등과같이이러한지표가정상적인경우쿼리기반 DB 모니터링솔루션이좋은아이디어일수있습니다. 그러나 DB 응답시간이증가함에따라엑티브세션수가증가하고쿼리기반 DB 모니터링방법을사용하면공유풀에서래치경합을더높일수있기때문에위험합니다. - 5

Oracle Automatic Workload Repository (AWR) oracle db 가정지상태이고 db 서버성능이쿼리에대한응답을신속하게수신하지못하면시스템관리자가 서버를재부팅하거나데이터베이스를다시시작하여이러한문제를해결했습니다. 이상황에서 AWR 데이터를 분석하여실패의원인에대한단서를찾으면해당시점의데이터가저장되지않는경우가많습니다. 먼저 DBA 는 AWR 기능을사용할때 Diagnostics Pack 라이센스를구입했는지확인해야합니다. 이것은 LMS 문제의중요한부분입니다. Oracle Diagnostics Pack license includes the following features DBMS_WORKLOAD_REPOSITORY package DBMS_ADDM package DBMS_ADVISOR package V$ACTIVE_SESSION_HISTORY dynamic performance view All views beginning with DBA_ADDM_ All data dictionary views beginning with the prefix DBA_HIST_ (Only Exception List) DBA_HIST_SNAPSHOT DBA_HIST_DATABASE_INSTANCE DBA_HIST_SNAP_ERROR DBA_HIST_SEG_STAT DBA_HIST_SEG_STAT_OBJ DBA_HIST_UNDOSTAT Oracle AWR 기능을사용하려면구두기업라이센스와별도로 oracle database diagnostics pack' 라이센스를구매해야합니다. oracle database diagnostics pack 은 'oracle database enterprise edition' 라이센스로만구입할수있는추가라이센스항목이며, DBA 는 AWR 기능을사용할때진단팩라이센스를구입했는지확인해야합니다. 이것은미래에발생할수있는비용이많이드는문제를피하는방법입니다. 그리고오라클스텐다드에디션제품을사용하는경우 AWR 기능을사용하지않아야합니다. Platforms Supported - 6

2. 사용가이드 2.1. URL 접속 자몽모니터링은크롬에서만지원합니다. URL 접속방법 -- http:// 자몽서버 IP 주소 실시간모니터링 (Zamong Dashboard) 과추적 (Zamong Clues) 기능지원 사용방법 1. DB Alias : 화면상으로보여질 Database 이름. ( 오라클서버 Zamong.conf 에등록한 db_alias 와동일하게입력 ) 2. Description : 추가코맨트설정 3. Add -> 하단 List 에입력한 Database 리스트추가 - 7

2.2. Zamong_Dashboard 실시간모니터링을지원하는화면으로써 13 개의항목에대한실시간성능모니터링을지원합니다. Session Count 토글기능을지원하며, Total Session 과 Active Session 추이를보여줍니다. CPU Util 시스템에서사용하는 SYS, 일반유저가사용하는 USER, I/O 발생량을나타내는 IO 로구성되어있습니다. - 8

User Calls & Execute Count User Calls 는 Oracle Call Interface 를통해오라클외부로부터들어오는 Call 을말하며, Peek 시간대의시스템확장성을떨어뜨리는가장큰요인입니다. 과도한 User Calls 발생시, 맨하단의 Session Monitoring 혹은수집된데이터로해당시점을선택하여문제원인의세션을추적할수있습니다. Execute Count 는 DML 실행한횟수로써 CPU I/O, Latch 와밀접한관련이있는필수적인모니터링항목입니다. 갑작스런 Execute Count 의증가는 CPU 의부하를줄수있으며, 모니터링화면에서의 Logical Read, CPU Util 과관련지어분석할수있습니다. Session Logical Read & Phycal Reads Logical Read 는버퍼캐시를통해읽은모든데이터블록을의미하며 CPU usage 관련가장유사한모니터링포인트입니다. Physical Reads 는 Disk I/O 를수행한블록개수로써종류로는 Conventional Path, Direct Path 가있습니다. 보통 100 ~ 200 blocks/sec 속도로읽기때문에지속적인 Physical Reads 는시스템의성능저하를야기할수있으며, 실시간모니터링으로 Physical Reads 를유발하는문제의 SQL 을추적할수있습니다. Full Scan & Log File Sync Full Scan 항목에서는 Full table scan 의대표적 wait event 인 DB File Scattered Read, SGA 를거치지않고바로 PGA 로직접읽어들이게하는 Direct Path Read, 정렬작업시발생하는대표적 wait event 인 Direct Path Read Temp 를보여줍니다. 이항목은 I/O 와밀접한관련이있습니다. Log Flie Sync 는일반적으로 User Commit 또는 Rollback 시에수행되는 LGWR 프로세스의 sync write 에의해발생되며, 주로과다한 Commit 또는 LGWR 프로세스의 I/O 처리속도의문제로인해발생합니다. 이또한 I/O 와관련이있는모니터링항목입니다. - 9

DB Wait Time (Active Session History) v$active_session_history 를통하여 I/O, DB Link, RAC, Latch, Enqueue, Undo, Redo, Hot Block 등 8 개로 Class 화하 였으며, DB Wait Time 기반으로모니터링할수있습니다. Active Session History By wait Type v$active_session_history 를통하여 I/O, DB Link, RAC, Latch, Enqueue, Undo, Redo, Hot Block, Other 등 9 개로 Class 화하였으며, Wait Type 별 Session 추이를모니터링할수있습니다. Active session history v$active_session_history 의 wait_class 을참조하여 Session 추이를보여줍니다. I/O : 유저 I/O 대기 (ex. db file sequential read) Configuration : 데이터베이스또는인스턴스부적절한구성 (ex. shared pool size, 부족한 logfile size) Application : application code 에대한대기 (ex. Row lock, 혹은 explicit lock) Cluster : GC 관련대기 (ex. gc cr block busy) Commit : 커밋후대기 (ex. Log file sync) Administrative : DBA 명령으로인한대기 (ex. index rebuild) - 10

Parse Count Hard Parse Count 는새로파싱된문장의수를의미하며, I/O cost 가많이드는작업입니다. 만약, 과도하게 parse count 가증가했다면, 맨하단 Session 모니터링과연계하거나, Clues 기능으로과거시간을추적하여어느세션의 SQL 이 hard parsing 을발생시켰는지확인할수있습니다. 대표적인예로 Literal SQL 로인한 Parse Count 증가가있습니다. Session monitoring 및 Session Detail 분기 Active Session 을실시간으로모니터링할수있으며, 원하는세션을더블클릭하여세션의 Stat 정보들과 SQL Full text 를볼수있습니다. - 11

2.3. Zamong_Clues Mysql 서버에저장된정보를조회하여원하는시간대의오라클 database 성능정보를추적할수있습니다. 오라클 DB 에어떤문제가발생되었었다면그문제가발생했던시점 ( 시분초 ) 을기준으로시간을초단위로이동시키면서분석할수있습니다. 특히 Active 세션의 Wait event 와 Sql, 그리고 V$session 에나오는대부분의정보가 1 초단위로저장되어있기때문에오라클성능이슈나장애가발생되었을때, 사후에그원인을가장상세하게분석할수있는툴입니다. 오라클의 AWR, ASH 는모니터링된정보를오라클내부 DB 에기록하지만그부하를줄이기위해우선메모리 (v$ 뷰에 ) 에성능정보를가지고있다가주기적으로디스크 (DBA 뷰 ) 에기록하는방식입니다. 그래서서버가갑자기재부팅되거나혹은 DB 가다운되거나 Restart 되었을때, 그원인을분석하려고 AWR, ASH 를조회해보면데이터가나오지않아장애분석하는데어려울때가많습니다. Zamong Clues 는바로사후분석을위한툴입니다. 사용방법 1. DB Alias, Date 선택, From, To 선택후파란색버튼클릭 DB Date 항목은일반적일때는사용하지않지만아래케이스에서는 DB Date 값이필요합니다. 오라클데이터베이스서버의 time 과 Zamong 서버의 time 이 ntp 로동기화되어있지않다면, 날짜가바뀌는시점전 / 후로데이터가차트에보이지않을수있습니다. 이때 Date 와 DB Date 를사용합니다. Date 는 Zamong 서버의시간이며와 DB Date 는오라클서버의시간입니다. 예를들어오라클서버에서 2018 년 3 월 15 일 23:59:01 초에스캔된정보가바로 Zamong 서버에전송돼서기록되는데, 그시점의 Zamong 서버시간이다음날인 2018 년 3 월 16 일 00:00:01 초라라고가정한다면 - 12

Date 를 2018 년 3 월 15 일으로선택해서 Zamong clues 를조회해보면 23:59:00 까지만차트에나타납니다. 이때 Date 를 2018 년 3 월 15 일으로선택하고 DB Date 를 2018 년 3 월 16 일으로선택해서조회해보면나머지 1 분데이터를차트에서보실수있습니다. 2. 분석을원하는시간간격 ( From, To 항목 ) 을선택할때, 그시간간격을 30 분이하로선택하면차트의 X 축이 초단위로변합니다. 초단위의그래프로변화추이를상세하게볼수있습니다. 시간간격을 30 분이상으로선택하면차트의 X 축이분단위로변하고, 각분에서최대값이차트로그려집니다. 3. 차트에서분석하고싶은범위를마우스로 drag 하면오른쪽 range 부분에 drag 로선택된시간간격이 보이고, 이때 Zoom 버튼을클릭하면 drag 한부분이확대되게됩니다. 이렇게하면서시간간격을 30 분이하로 drag 하게되면 X 축이초단위로변하면서상세분석이가능해집니다. [ Drag : 범위선택 ] [ 초단위로차트가확대됨 ] - 13

4. 아래그림처럼차트의라인을클릭하면그시점이선택되어집니다. 그리고 RUN 버튼을클릭하면 그선택된시간에서 0 초 ~ 59 초사이의 Aactive 세션수가 ACTIVE SESSION DETAILS( 60 seconds ) 차트 영역에표시됩니다. 아래그림에서는 19 시 05 분이선택되었습니다. 그리고 Active session detail 항목에는그시점 (19 시 05 분 0 초 ) 의 Active 세션리스트가보여집니다. 선택된시간부분을해제할때는그선택된부분을더블클릭합니다. ( 클릭은선택, 더블클릭은해제 ) 이렇게세션분석을하기위해분석할시간을선택할때는 Active session 차트나 Cpu Usage(%) 차트에서 차트가튀는부분을찾아내어그부분을 drag 한후, 점점확대하면서찾아들어가는방법이좋습니다. 5. 그리고아래그림처럼 ACTIVE SESSION DETAILS( 60 seconds ) 차트를보면서가장부하가많았던시점을찾아냅니다. 아래그림에서는 28 초시점이 Active 세션이많은것을확인할수있는데, 28 초를클릭하면그시점의 Active 세션을볼수있습니다. 이런방식으로시간을앞 / 뒤로이동시키면서 Active 세션의움직임을직접확인하면서원인을분석해나갈수있습니다. 6. Active 세션리스트에서상세정보를보고싶은 row 를클릭하면세션상세정보를볼수있는화면이팝업됩니다. 선택한 Session 에대하여 Module, SQL Full Text, Wait detail 등모든 stat 에대한정보를제공합니다. - 14

[ 현재까지 Zamong Clues 는 MAIN 탭까지만들어진상황이며, 카테고리별로지표를모아놓은여러탭의내용 까지개발이끝난다면, 이툴은장애분석에상당한도움이될것입니다 ] - 15

2.4. Zamong Architecture 2.5. Zamong Agent install 서버환경 ( 예 ) 자몽서버 오라클서버 OS, DB Version CentOS 7.2 / Mysql 5.5 RHEL 6.5 / Oracle 11204 Hostname mysql oracle IP 172.40.40.199 172.40.40.191 자몽포트 17531 17531 DB 포트 3306 1521 설치항목 MySQL 5.5, PHP, httpd, 자몽서버프로세스 자몽 Agent 설치파일 mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz zamong_server_v03.tar.gz zamong_web.tar.gz linux_zamong_agent_1120400.tar - 16

방화벽오픈 List From To 포트 오라클서버 자몽서버 17531 사용자 PC 자몽서버 80 2.5.1. 자몽 Agent 설치설치파일전송및압축해제 $tar -xvf linux_zamong_agent_1120400.tar $cd zamong/ zamong.conf zamong_as zamong_gs zamong_ms zamongctl zamonglic.dat $pwd /home/oracle/zamong zamong.conf 파일수정 home_dir /home/ora11204/zamong -- 자몽경로 collector_ip 172.40.40.199 -- 자몽서버 (MySQL) IP collector_port 17531 -- 자몽서버와의통신포트 db_alias zamongdb -- 화면출력 DB 이름 ( 숫자부터시작하면안됨 ) os_number 2 -- 오라클서버종류 / AIX : 1, Lunux : 2 oracle_version_number 1120400 -- 오라클서버버전 / ex) 11204 : 1120400 instance_name ORA11204 -- select Instance_name fron v$instance db_name ORA11204 -- select name from v$database OS 가 Linux 일때수정사항 OS 가 Linux 인경우 memory_target 을사용해서는안됩니다. 확인방법 : SQL> show parameter memory_target memory_target=0 으로설정되어있어야자몽서비스를이용할수있습니다. 만약 Memory_target 이설정되어있다면, memory 용량을고려하여아래예시와같이설정해주세요 ex) memory_target 이 4294967296 (4g) 일경우 SQL> alter system reset memory_target scope = spfile; SQL> alter system set sga_target = 3g scope = spfile; SQL> alter system set pga_aggregate_target = 1000m scope = spfile; SQL> shutdown immediate ; SQL> startup - 17

2.6. Zamong Server install 2.6.1. Mysql Install 유저생성및설치파일전송 # userdel -r mysql # useradd mysql -d /mysql # passwd mysql >>Mysql 설치파일전송 필수디렉토리생성및정리 - ROOT 유저 # export DBNM=MySQL # mkdir -p /mysql/$dbnm # mkdir -p /mysql/$dbnm/scripts # mkdir -p /data/$dbnm/ # mkdir -p /data/$dbnm/datadir # mkdir -p /data/$dbnm/tmpdir # mkdir -p /data/$dbnm/logdir # mkdir -p /data/$dbnm/logdir/oldlog # mkdir -p /data/$dbnm/binlog # mkdir -p /data/$dbnm/relaylog # chown -R mysql:mysql /mysql # chown -R mysql:mysql /data 설치파일압축해제및심볼릭링크생성 su - mysql $ ls MySQL mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz zamong_server_v03.tar.gz zamong_web.tar.gz $ tar -xvf mysql-5.5.59-linux-glibc2.12-x86_64.tar.gz -C /mysql/mysql/ $ ln -s /mysql/mysql/mysql-5.5.59-linux-glibc2.12-x86_64 /mysql/mysql/instance - 18

my.cnf 편집 $ vi /data/mysql/my.cnf [mysqld] port = 3306 socket = /tmp/mysql.sock basedir = /mysql/mysql/instance datadir = /data/mysql/datadir tmpdir = /data/mysql/tmpdir key_buffer_size = 120M join_buffer_size = 1M max_allowed_packet = 32M concurrent_insert = 2 skip-name-resolve ### Logging options ### skip_log_bin general_log = 0 slow_query_log = 1 long_query_time = 2 log_error = /data/mysql/logdir/error.log slow_query_log_file = /data/mysql/logdir/slow.log general_log_file = /data/mysql/logdir/general.log expire_logs_days = 15 bash_profile 수정 export DBNM=MySQL echo '' >> ~/.bash_profile echo export DBNM=$DBNM >> ~/.bash_profile echo export PATH=/mysql/$DBNM/instance/bin:/mysql/$DBNM/xtrabackup/bin:/mysql/$DBNM/toolkit/bin:'$PATH' >> ~/.bash_profile echo alias cdmy="'cd /mysql/$dbnm/instance'" >> ~/.bash_profile echo alias cdsp="'cd /mysql/$dbnm/scripts'" >> ~/.bash_profile echo alias cddt="'cd /data/$dbnm/datadir'" >> ~/.bash_profile echo alias cdlog="'cd /data/$dbnm/logdir'" >> ~/.bash_profile echo alias showerr="'vi /data/$dbnm/logdir/error.log'" >> ~/.bash_profile source ~/.bash_profile - 19

cdmy MySQL 데이터베이스초기화./scripts/mysql_install_db --defaults-file=/data/$dbnm/my.cnf 데이터베이스접속, 기동, 중지스크립트작성 cat > /mysql/$dbnm/scripts/conn.sh << EOF #!/bin/sh source ~mysql/.bash_profile cd /mysql/$dbnm/instance./bin/mysql -h localhost -u root -p EOF cat > /mysql/$dbnm/scripts/startup.sh << EOF #!/bin/sh source ~mysql/.bash_profile cd /mysql/$dbnm/instance./bin/mysqld_safe --defaults-file=/data/$dbnm/my.cnf & EOF cat > /mysql/$dbnm/scripts/shutdown.sh << EOF #!/bin/sh source ~mysql/.bash_profile cd /mysql/$dbnm/instance./bin/mysqladmin shutdown -u root -p EOF cdsp sh startup.sh 데이터베이스기동 사용자, 스키마, 권한초기설정 cdmy./bin/mysql -h localhost -u root << EOF update mysql.user set password=password('mysql123'); create database zamong default character set ascii; grant all privileges on zamong.* to 'mong'@'%' identified by 'aaaaa' ; grant all privileges on zamong.* to 'mong'@'localhost' identified by 'aaaaa' ; grant all privileges on zamong.* to 'mong'@'mysql' identified by 'aaaaa' ; flush privileges; - 20

commit; exit EOF 자몽유저접속확인 mysql -u mong -p Enter password: aaaaa Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 13 Server version: 5.5.59-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> - 21

2.6.2. Apache & PHP Install Apache Http Server 설치 - 설치패키지 : httpd-tools, httpd 설치 rpm 이없는경우 yum 으로설치 # yum install httpd PHP 설치 - 설치패키지 : libzip-0.10.1-8.el7.x86_64.rpm ( 없는경우온라인에서다운 ), php-common-5.4.16, php-cli-5.4.16, php-pdo-5.4.16, php-mysql-5.4.16-36 [root@mysql mysql]# rpm -Uvh libzip-0.10.1-8.el7.x86_64.rpm 경고 : libzip-0.10.1-8.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] Updating / installing... 1:libzip-0.10.1-8.el7 ################################# [100%] [root@mysql Packages]# pwd /run/media/root/centos 7 x86_64/packages [root@mysql Packages]# rpm -Uvh php-common-5.4.16-36.el7_1.x86_64.rpm 경고 : php-common-5.4.16-36.el7_1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] Updating / installing... 1:php-common-5.4.16-36.el7_1 ################################# [100%] [root@mysql Packages]# rpm -Uvh php-cli-5.4.16-36.el7_1.x86_64.rpm 경고 : php-cli-5.4.16-36.el7_1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] - 22

Updating / installing... 1:php-cli-5.4.16-36.el7_1 ################################# [100%] [root@mysql Packages]# rpm -Uvh php-pdo-5.4.16-36.el7_1.x86_64.rpm 경고 : php-pdo-5.4.16-36.el7_1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] Updating / installing... 1:php-pdo-5.4.16-36.el7_1 ################################# [100%] [root@mysql Packages]# rpm -Uvh php-5.4.16-36.el7_1.x86_64.rpm 경고 : php-5.4.16-36.el7_1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] Updating / installing... 1:php-5.4.16-36.el7_1 ################################# [100%] [root@mysql Packages]# rpm -Uvh php-mysql-5.4.16-36.el7_1.x86_64.rpm 경고 : php-mysql-5.4.16-36.el7_1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY 준비중... ################################# [100%] Updating / installing... 1:php-mysql-5.4.16-36.el7_1 ################################# [100%] /etc/php.ini php.ini 수정 allow_url_fopen = Off display_errors = Off magic_quotes_gpc = Off file_uploads = Off log_errors = On error_log = php_errors.log date.timezone = Asia/Seoul /etc/hosts 설정 172.40.40.199 mysql /etc/selinux/config 수정 # vi /etc/selinux/config SELINUX=disabled ( 재기동필수 ) - 23

/etc/httpd/conf/httpd.conf 수정 (remove "#" and add IP ) #ServerName www.example.com:80 ---> ServerName 172.40.40.199:80 (Don't set 'AddDefaultCharset' parameter, add "#" ) AddDefaultCharset UTF-8 ----> #AddDefaultCharset DocumentRoot "/var/www/html/zamong " User apache Group apache Zamong 디렉토리추가 mkdir -p /var/www/html/zamong apachectl start Start HTTP daemon ps -ef grep httpd root 16935 1 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 16945 16935 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 16946 16935 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 16947 16935 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 16948 16935 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 16949 16935 0 14:07? 00:00:00 /usr/sbin/httpd -DFOREGROUND root 16953 7436 0 14:07 pts/0 00:00:00 grep --color=auto httpd 방화벽해제 # firewall-cmd --permanent --zone=public --add-port=80/tcp -- Apache 포트 # firewall-cmd --permanent --zone=public --add-port=3306/tcp -- MySQL 포트 # firewall-cmd --permanent --zone=public --add-port=17531/tcp -- 자몽 Server 포트 # firewall-cmd --reload -- 방화벽오픈적용 # firewall-cmd --list-ports -- 오픈된방화벽확인 3306/tcp 80/tcp 17531/tcp * 3 개의방화벽포트오픈확인 - 24

Check test web page ( php + MySQL ) # vi /var/www/html/zamong/test.php <?php define(' HOST ', '172.40.40.199'); define(' DATABASE ', 'zamong') ; define(' PORT ', 3306 ); define(' USER ', 'mong'); define(' PASSWORD ', 'aaaaa'); $conn = mysqli_connect( HOST, USER, PASSWORD, DATABASE, PORT ); if (!$conn ) { echo "db connection fail: ERROR ". mysqli_connect_error() ; exit ; } else { echo "db connection success" ; exit ; }?> 접속 URL : http://172.40.40.199/test.php db connection success 출력확인 *selinux 적용후서버재기동을했다면, MySQL, httpd 다시기동해야합니다. 2.6.3. Zamong Install zamong_server_v03.tar.gz 파일전송, 압축해제, zamongservet.conf 수정 [MySQL 계정 ] $ tar -xvf zamong_server_v03.tar.gz home_dir /mysql/zsvr -- 자몽홈경로 zamong_listen_port 17531 -- MySQL 포트넘버 db_server_ip 172.40.40.199 -- MySQL IP db_connect_user mong -- MySQL string_for_connection aaaaa -- MySQL 비밀번호 db_connection_port 3306 -- MySQL Port database_name zamong -- MySQL db name table_check_interval 180 -- 테이블체크빈도 (sec) / default = 180-25

zamong_web.tar.gz 파일전송, 압축해제, config.php, connectdb.php 수정 [Root 계정 ] tar -xvf zamong_web.tar.gz -C /var/www/html -- /var/www/html 경로압축해제 vi /var/www/html/zamong/config.php <?php define(' HOST ', '127.0.0.1'); -- 자몽서버 IP define(' DATABASE ', 'zamong') ; -- 자몽서버이름 define(' PORT ', 3306 ); -- Mysql 포트 define(' USER ', 'mong'); -- 자몽유저 define(' PASSWORD ', 'aaaaa'); -- 자몽유저패스워드 define(' SOCKET ', '/tmp/mysql.sock' ); -- MySQL 소켓경로 -- 주석해제?> vi /var/www/html/zamong/connectdb.php // $conn = mysqli_connect( HOST, USER, PASSWORD, DATABASE, PORT ); -- 주석처리 $conn = mysqli_connect( HOST, USER, PASSWORD, DATABASE, 0, SOCKET ); -- 주석해제 2.7. 프로세스기동확인 프로세스기동확인 자몽서버 Mysql 기동확인. [mysql@mysql zsvr]$ ps -ef grep mysql mysql 1981 1 0 14:18 pts/0 00:00:00 /bin/sh./bin/mysqld_safe --defaults-file=/data/mysql/my.cnf mysql 2268 1981 0 14:18 pts/0 00:00:03 /mysql/mysql/instance/bin/mysqld --defaultsfile=/data/mysql/my.cnf --basedir=/mysql/mysql/instance --datadir=/data/mysql/datadir --plugindir=/mysql/mysql/instance/lib/plugin --log-error=/data/mysql/logdir/error.log --pid-file=mysql.pid -- socket=/tmp/mysql.sock --port=3306 * mysql 기동중지스크립트위치 : /mysql/mysql/scripts 자몽서버프로세스기동확인 [mysql@mysql zsvr]$./zamongsvrctl start Starting zamong_svr process. Please refer to the zamong_server.log file for detail USER PID PROCESS mysql 7158 zamong_svr * 하나의프로세스출력되면정상 - 26

자몽서버 httpd 서비스기동확인 [mysql@mysql zsvr]$ ps -ef grep httpd root 1812 1 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1863 1812 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1864 1812 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1865 1812 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1866 1812 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1867 1812 0 14:17? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 1916 1812 0 14:18? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2286 1812 0 14:18? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2287 1812 0 14:18? 00:00:00 /usr/sbin/httpd -DFOREGROUND apache 2288 1812 0 14:18? 00:00:00 /usr/sbin/httpd -DFOREGROUND 오라클서버자몽 Agent 기동확인 [ora11204@ora11204 zamong]$./zamongctl start Parameter home_dir is '/home/ora11204/zamong' Starting zamong_gs process. Please refer to the zamong_gs.log file for detail Wait.. Starting zamong_as process. Please refer to the zamong_as.log file for detail Wait for checking zamong_gs: process (pid) 7268 for ORA11204 zamong_as: process (pid) 7272 for ORA11204 zamong_ms: starting USER PID COMMAND ora11204 7272 zamong_as ora11204 7268 zamong_gs ora11204 7372 zamong_ms * 3 개의프로세스출력되어야정상 - 27

3. ETC 3.1. 파일다운로드 MySQL MySQL 공식홈페이지 : https://dev.mysql.com/downloads/mysql/5.5.html?os=src 자몽다운로드 자몽공식홈페이지 : http://www.zamongsoft.com/download.php - 28