Tibero Agent Guides WhaTap Support Version 1.0
Table of Contents Tibero Agent Guide......................................................................................... 1 1. Install............................................................................................... 2 1.1. 에이전트실행및모니터링개요 2 1.2. 표준설치......................................................................................... 5 1.3. 에이전트네이밍..................................................................................... 8 1.4. 데이터베이스서버별설정............................................................................. 9 1.5. 설치에러대응...................................................................................... 9 1.6. Advanced Feature.................................................................................. 10 1.7. 설치환경......................................................................................... 12 2. 수집데이터종류및수집주기............................................................................. 13 2.1. Real Time monitoring............................................................................... 14 2.2. Active Session.................................................................................... 15 2.3. Trends.......................................................................................... 15 2.4. SQL Stat......................................................................................... 15 2.5. 데이터베이스모니터링설정........................................................................... 15
Preface Tibero Agent Guide 제목 : Tibero Agent Guides 작성자 : WhaTap Support 이메일 : support@whatap.io 날짜 : 2019-03-29 버전 : 1.0 설명 : 본문서는 WhaTap Tibero Monitoring 에이전트에대해설명합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 1
Chapter 1. Install Chapter 1. Install 에이전트설치부터실행, 업데이트및종료에대해설명하며, 나아가설치중발생할수있는오류에대한사례들을설명합니다. 1.1. 에이전트실행및모니터링개요 와탭 DBX모니터링은 Query 기반으로데이터베이스의성능데이터를수집하여성능모니터링서비스를제공합니다. 데이터베이스성능관리는데이터베이스의성능을실시간으로감시하고문제점을진단, 분석하여문제가되는 SQL을튜닝하고적용하여문제점이해결되었는지실시간으로감시하는작업입니다. 와탭 DBX는이러한일련의작업이순환관리되도록설계된데이터베이스성능모니터링솔루션입니다. 데이터베이스의동작을감시하고진단및분석하여가용성과성능을일정한수준으로유지하는데도움이되도록구성되어있습니다. 데이터베이스에어떤문제가발생한경우, 담당자에게알람을전송하여상황을인지하고, 수집된데이터를통하여 DB상황을보다정밀하게분석하여 Root Cause를명확하게밝혀내는데도움을주는솔루션입니다. Public Cloud, Private Cloud 모두에적용가능하며, 쿼리베이스로데이터를수집하기때문에모니터링대상서버의 Operating System 에 무관합니다. 따라서, 와탭데이터베이스모니터링서비스 (DBX) 는모니터링대상데이터베이스서버에직접에이전트를설치하지않고도 RDS(Amazon Relational Database Service) 포함한어떤데이터베이스라도모니터링이가능합니다. 에이전트구성 에이전트의구성은수집서버, 에이전트, 그리고수집서버로이루어집니다. 수집서버 에이전트가수집한데이터베이스성능데이터를수집, 저장및통계정보추출하고이를사용자에효율적인방법으로제공합니다. 수집서버는지역 (Region) 별로설정이가능합니다. 지역 (Region) 별로수집서버의주소가다르게할당되므로사용자가선택한지역 (Region) 에따라수집서버주소는다를수있습니다. 지역 (Region) 선택은프로젝트생성시에함께설정합니다. 기본에이전트 Query기반으로성능데이터를수집하여서버로전송합니다. 모니터링대상데이터베이스서버에직접에이전트를설치하지않고도모니터링이가능합니다. 부가에이전트 (XOS Agent) XOS 에이전트는데이터베이스서버의프로세스사용량을모니터링할수있는부가옵션에이전트입니다. 데이터베이스서버의프로세스사용량을모니터링하고싶은경우, 데이터베이스서버에별도의에이전트를띄워데이터를수집할수있습니다. 네트워크 기본에이전트 : 와탭모니터링에이전트는모니터링정보를수집하여서버에데이터전송하기위하여외부통신 (TCP) 을위한 6600 포트를사용합니다. 부가에이전트 : 에이전트가설치된서버와데이터베이스서버간외부통신 (UDP) 을위한 3002포트를사용합니다. 내부포트가충돌이나는경우, dbx_port 옵션을통해포트변경이가능합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 2
Chapter 1. Install Figure 1. 에이전트구성도 Figure 2. 부가에이전트 (XOS Agent) 구성도 에이전트구성파일 Table 1. 에이전트구성파일의종류 파일명 whatap.conf alert/alert.conf 설명 데이터베이스서버의데이터를수집하는수집서버의주소와서버의프로젝트라이센스키가입력되는파일. 수집하는모니터링항목에임계치를설정하는파일. 임계치를초과하는경우알림이벤트가발생한다. scripts/ 원격으로 sql 스크립트를실행할수있는스크립트들을모아둔디렉토리. ps.sh 프로세스아이디를읽어오는스크립트. 에이전트프로세스를종료할때해당아이디를참고한다. stop.sh 에이전트프로세스를종료할때사용하는스크립트. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 3
Chapter 1. Install uid.sh (uid.bat) 데이터베이스접속정보를조합하여암호화된 uid 를생성하기위한쉘스크립트. db.user 파일이생성된다. 최초한번만설정해두면, 그이후부터는암호화된 uid 를통해모니터링대상데이터베이스서버로부터데이터수집이이루어진다. start.sh (start.bat) 에이전트실행을위한쉘스크립트. 에이전트가실행되면데이터베이스서버의모니터링정보를수집하기시작한다. startd.sh (startd.bat) 에이전트실행을위한쉘스크립트를백그라운드로실행할수있는스크립트. whatap.agent.dbx- [VERSION].jar (Tracer 프로그램 ) 데이터베이스서버의정보를수집하고수집된정보를서버로전송하는프로그램 jdbc 데이터베이스서버연결을위해참조되는라이브러리들을모아두는디렉토리. 에이전트와데이터베이스서버의연결을위한라이브러리를직접다운받아 java 의 classpath 옵션에경로를지정하여사용한다. xos xos/xos.conf 데이터베이스서버의프로세스사용량을모니터링할수있는부가옵션에이전트가포함된디렉토리. 데이터베이스서버의프로세스사용량데이터를수집및데이터전송을위한에이전트서버의주소와통신포트가입력되는파일. JDBC 다운로드안내 DBX 에서지원하는데이터베이스모니터링이가능한종류별로다운로드링크를안내합니다. Postgresql ( 지원버젼 : 9.2 이상 ) : https://jdbc.postgresql.org/download.html EDB ( 지원버젼 : 9.2 이상 ) : https://www.enterprisedb.com/advanced-downloads Oracle ( 지원버젼 : 11g 이상 ) Oracle Database 11g Release 1 JDBC Drivers : http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-111060-084321.html Oracle Database 12c Release 1 JDBC Driver : http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12cdownload-1958347.html Mysql & MariaDB ( 지원버젼 : 5.5 이상 ) Connector/J 8.0.11 : https://dev.mysql.com/downloads/connector/j/ Connector/J 5.1.46 : https://dev.mysql.com/downloads/connector/j/5.1.html Mssql ( 지원버젼 : 2005 이상 ) Microsoft JDBC Driver 6.4 for SQL Server : https://www.microsoft.com/en-us/download/details.aspx?id=56615 Microsoft JDBC Driver 6.2 for SQL Server : https://www.microsoft.com/en-us/download/details.aspx?id=55539 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 4
1.2. 표준설치 1.2. 표준설치 와탭 DBX 모니터링서비스를사용하기위해서는모니터링대상데이터베이스서버와의네트워크통신이가능한서버에와탭에이전트를설치해야합니다. 와탭데이터베이스모니터링서비스는모니터링대상데이터베이스서버에직접에이전트를설치하지않고도모니터링이가능합니다. 와탭 DBX 모니터링에이전트설치방법은 whatap.io 사이트에서압축된에이전트파일을다운로드받아서버임의의위치에압축을풀어실행하는것만으로설치가완료됩니다. 1.2.1. 설치절차 프로젝트생성 Figure 3. 프로젝트생성페이지 서버를등록하기위해우선프로젝트를생성합니다. 추가버튼을선택하면아래와같이프로젝트생성창이나타납니다. 설치하려는데이터베이스 아이콘을선택한뒤, 희망하는프로젝트명과데이터서버지역 (Region), 소속하게될그룹을선택한뒤프로젝트를생성합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 5
1.2. 표준설치 Figure 4. 프로젝트이름지정및수집서버지역선택 라이센스발급 Figure 5. 라이센스발급받기 프로젝트관리화면에서는우선적으로라이선스를발급받습니다. 라이센스키는프로젝트별로귀속되기때문에, 유출되거나배포되어서는 안됩니다. 반드시본인프로젝트에서버를등록할때에만이용하시기바랍니다. 에이전트다운로드 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 6
1.2. 표준설치 Figure 6. 에이전트다운로드 라이선스를발급받은후에는 에이전트파일다운로드 버튼이활성화되었음을확인할수있습니다. 해당버튼을눌러와탭에이전트파일을 다운로드받습니다. 다운로드가완료되면안에있는 whatap.conf 파일의설정을확인하여라이선스키와데이터수집서버주소가정상적으로 들어가있는지를확인합니다. 아래명령어를통해파일을다운로드받을수있습니다. $ wget -O whatap.agent.database.tar.gz https://service.whatap.io/download/agent/[db_type] 아래명령어를통해파일을압축을해제할수있습니다. $ tar -xzvf whatap.agent.database.tar.gz 정상적으로들어가있는게확인이되었다면모니터링을대상데이터베이스서버의정보를입력합니다. license=[ 라이센스키 ] whatap.server.host=[ 수집서버정보 ] dbms=[db 종류 ] db=[db_name(main)] db_ip=[d_ip] db_port=[d_port] wget 으로직접다운받을경우, whatap.conf 파일에라이선스키와데이터수집서버주소가정상적으로들어가지않습니다. 해당방식으로다운받을경우, 업로드후별도로라이선스키와데이터수집서버주소를넣어주시기바랍니다. 에이전트는설정파일에있는데이터베이스서버주소로연결을맺고데이터수집을합니다. 따라서데이터베이스서버연결에필요한포트가차단되어있으면데이터수집이되지않습니다. 에이전트는수집서버주소로데이터베이스서버의성능정보를전송합니다. 그러므로방화벽에수집서버 IP 로의 TCP 아웃바운드포트 (6600) 이차단되어있으면데이터수집이되지않습니다. UID 생성 데이터베이스접속을위하여암호화된 uid 를생성하기위해 username 과 password 를입력하고 shell script 를실행합니다. 최초한번만 설정해두면, 그이후부터는암호화된 uid 를통해모니터링대상데이터베이스서버로부터데이터수집이이루어집니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 7
1.3. 에이전트네이밍 $./uid.sh [DB_USER] [DB_PASSWORD] The uid is updated!! 에이전트시작 whatap 폴더밑의 shell script 로에이전트를실행합니다. 에이전트가실행되면데이터베이스의모니터링정보를수집하기시작합니다. 에이전트 로그를확인하여에이전트의정상기동여부를확인합니다. $./start.sh / / / / / / / / / _ \/ _ `// / / _ `/ _ \ / /_//_/\_,_//_/ \_,_/. / /_/ Just Tap, Always Monitoring WhaTap DBX version 1.3.9 20181120 에이전트프로세스확인 다음과같은명령어를통하여동작중인와탭 DBX 에이전트프로세스를확인할수있습니다. $ ps ef grep dbx 로그확인서비스재시작시정상적으로로그가뜨는화면을통해정상구동여부를확인합니다. 에이전트등록후수집과관련된로그는 $WHATAP_HOME/logs 디렉토리에서확인할수있습니다. 에이전트가정상적으로동작하는경우해당날짜에다음과같은로그파일을확인할수있습니다. whatap-dbx-[oid]-[date] whatap-boot-[date].log) 모니터링확인 서버에서정상적으로로그가올라온것을확인한뒤, 콘솔에정상적으로등록되어있는여부를확인하기위해해당프로젝트의 관리 - 에이전트 목록 메뉴에올라온해당데이터베이스서버의명칭을확인합니다. 데이터베이스명은 {type}-{ip2}-{ip3}-{port} 의형태의식별 ID 가부여됩니다. 1.3. 에이전트네이밍 와탭모니터링서비스에서모니터링대상을포괄적인의미로오브젝트라는명칭을사용하며에이전트와혼용해서사용하기도합니다. 모니터링 대상즉오브젝트를구분하기위해서는이름을구분해야합니다. 와탭은오브젝트이름과오브젝트아이디를통해서대상을구분합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 8
1.4. 데이터베이스서버별설정 오브젝트 ( 에이전트 ) 이름은프로젝트단위로유일해야합니다. 오브젝트아이디 = CRC32( 오브젝트이름 ) 입니다. 오브젝트아이디 / 이름이바뀌면이전데이터와연결되지않습니다. 1.3.1. 이름결정방식 데이터베이스서버로부터추출한정보를활용하는이유는데이터베이스서버정지, 네트워크단절또는에이전트문제로인한수집서버와에이전트의통신단절상태가복구되었을경우, 재접속된에이전트로부터송신되는정보가기존에이전트로부터송신된정보와의연속성을유지하기위해서입니다. 에이전트이름식별와탭은모니터링정보수집대상인데이터베이스서버식별을위한정보로기본적으로데이터베이스서버로부터수집한정보를활용합니다. 기본적으로활용하는정보는데이터베이스서버종류, 데이터베이스서버의 IP, 서비스포트를조합하여데이터베이스서버를고유식별자로사용하게되며필요에따라사용자가지정한명칭을사용하거나패턴을변경하여사용하는것도가능합니다. 이때에는꼭고유한값이어야만합니다. 데이터베이스서버로부터추출한정보를활용하는이유는데이터베이스서버정지, 네트워크단절또는에이전트문제로인한수집서버와에이전트의통신단절상태가복구되었을경우, 재접속된에이전트로부터송신되는정보가기존에이전트로부터송신된정보와의연속성을유지하기위해서입니다. 와탭이데이터베이스서버를식별하기위해사용하는기본패턴은다음과같습니다. 기본패턴에대한변경은 whatap.conf 에서설정에서가능합니다. object_name Default : {type}-{ip2}-{ip3}-{process} 명칭 설명 {type} whatap.app_name 에설정된값을사용합니다. {ip#} IP 를나누었을때 # 번째자리를사용합니다. {process} whatap.app_process_name 에설정된값을사용합니다. {hostname} 서버호스트명을사용합니다. 1.4. 데이터베이스서버별설정 1.5. 설치에러대응 1.5.1. 방화벽설정확인 와탭서버에대한 TCP 아웃바운드방화벽이설정되어있으면모니터링정보를서버로전송할수없으므로방화벽차단을해제해야합니다. 방화벽확인방법 (telnet 서버 IP 서버포트 ) telnet 명령수행시하기와같은접속관련정보가표시되어야정상입니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 9
1.6. Advanced Feature $ telnet 52.193.60.176 6600 Trying 52.193.60.176... Connected to 52.193.60.176. Escape character is '^]'. 수집서버정보는에이전트설치메뉴에서확인할수있습니다. 1.6. Advanced Feature 1.6.1. 데이터베이스프로세스모니터링을하고싶은경우 (XOS 에이전트설치 ) Postgresql, Oracle에서는데이터베이스프로세스모니터링을할수있습니다. 데이터베이스서버의프로세스사용량을모니터링하고싶은경우, 데이터베이스서버에별도의 XOS 에이전트프로세스를띄워데이터를수집할수있습니다. 이경우, 진행중인세션의 cpu usage값을함께확인할수있습니다. 에이전트서버에있는 whatap.conf 파일에다음옵션을설정합니다. xos=[dbx_db_server_ip] xos_port=[dbx_port] (default: 3002) 다음 xos 디렉토리를데이터베이스서버로옮깁니다. 압축을해제한폴더 /xos/ 데이터베이스서버에있는 xos.conf 파일에에이전트서버정보를입력합니다. Agent Server 로데이터전송을위해 dbx_port 로설정된포트 (default 3002) 가열려있어야합니다. (UDP Outbound) dbx_ip=[dbx_agent_server_ip] dbx_port=[dbx_port] (default: 3002) cpu_limit=0 mem_limit=10240 데이터베이스서버에서다음프로세스를실행합니다. $./start.sh 참고 ) background 로실행하고자하는경우에는다음명령어로실행합니다. $./startd.sh 1.6.2. 서버명을임의로부여하여관리하고싶은경우 에이전트는데이터베이스서버종류와데이터베이스서버의 IP, 서비스포트를사용하여자동으로서버명을부여합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 10
1.6. Advanced Feature 데이터베이스인스턴스명지정옵션 기본패턴에대한변경은 whatap.conf 에서설정에서가능합니다. object_name default: {type}-{ip2}-{ip3}-{port} 데이터베이스인스턴스명패턴 프로젝트에등록된데이터베이스서버별로동일한이름이사용되면안되므로서버명을고정으로사용해서는안됩니다. Internal ip address 로인해 서버 ip 가중복되는경우는데이터베이스서버명을그룹단위로패턴화하여적용할수있습니다. Table 2. 패턴옵션 설정 type 설명 DBVX ip# Ip 를. 으로나누었을때 # 번째자리 (0 부터 ) port hostname 데이터베이스포트 호스트명 1.6.3. AES 256 암호화적용 와탭 DBX 에이전트는수집된데이터를암호화하여서버로전송합니다. 데이터의중요도나설정에따라이를변경할수있습니다. 기본적으로 XOR 연산과 AES 알고리즘을통한암호화를사용하며평문을 128비트단위로나누어암호화, 복호화를수행하며, 사용자의설정에따라 256비트까지확장할수있습니다. 설정 와탭 DBX 에이전트가설치된디렉토리에서 whatap.conf 파일에아래와같은설정을추가합니다. cypher_level=256 설정을추가합니다. license=[ 라이센스키 ] whatap.server.host=52.78.209.94/52.78.224.235 cypher_level=256 재실행 설정을추가한후에이전트를재기동합니다. 1.6.4. 제약사항 복수리전을단일프로젝트로선택불가 whatap.io 사이트에서프로젝트생성시, 지역 (Region) 은중복선택이불가하며복수의지역 (Region) 을활용하는경우별도의프로젝트를 생성해야합니다. Cloud 환경과같이복수의지역 (Region) 에서버가존재하는경우, 네트워크 latency 등성능정보수집상의제약사항을회피하기위하여 지역 (Region) 단위로수집서버를위치시켜야합니다. 와탭은고객요구사항에부응하기위하여지역 (Region) 별로수집서버를구축합니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 11
1.7. 설치환경 에이전트이름 (ONAME) 중복사용불가 와탭 DBX 모니터링은에이전트의식별을위한용도로에이전트의 IP 주소와 Port 정보를활용하기때문에사용자환경의모니터링대상 데이터베이스서버가동일 IP, 동일 Port 를사용하는경우와탭서버에서해당서버인스턴스를구분할수없게됩니다. 서버인스턴스가동적으로확장되는환경이아니라면 서버명을임의로부여하여관리하고싶은경우 를참조하여데이터베이스식별을위한명칭을직접지정하는방식을통해우회할수있습니다. 와탭에서는현재모니터링대상데이터베이스이 internal address 또는네트워크가상화로인해중복된 IP를사용할경우, 서버명을임의로부여하여관리하고싶은경우 를참고하여별도의데이터베이스명패턴을활용합니다. 1.7. 설치환경 1.7.1. 운영체제 다음운영체제환경에서에이전트를실행할수있습니다. CentOs 6 이상 (64bit) Ubuntu 14 이상 (64bit) 1.7.2. 지원하는데이터베이스종류 DBX 서비스에서는다음과같은데이터베이스들을지원합니다. Java6 이상 JDK 가설치되어있어야합니다. 데이터베이스 Oracle PostgreSQL MySQL MSSQL 지원버전 Oracle 10g 이상 Postgresql 9.2 이상 / EDB PAS 9.2 이상 MySQL 5.5 이상 / MariaDB 5.5 이상 SQL Server 2005 이상 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 12
Chapter 2. 수집데이터종류및수집주기 Chapter 2. 수집데이터종류및수집주기 와탭의 DBX 에이전트는다양한데이터베이스들을지원합니다. 성능분석을위해현재진행중인스탯지표, 세션데이터를수집하며수집된데이터들을저장하여특정기간동안의전체적인추이를분석및비교기능을제공하고있습니다. 또한특정시점에진행중이었던세션을파악하여느린 Query를분석할수있으며, 수집된 SQL들을재가공하여 SQL들의통계데이터분석이가능합니다. Table 3. 데이터베이스별지원버전 데이터베이스 Oracle PostgreSQL MySQL MSSQL 지원버전 Oracle 10g 이상 Postgresql 9.2 이상 / EDB PAS 9.2 이상 MySQL 5.5 이상 / MariaDB 5.5 이상 SQL Server 2005 이상 Table 4. 데이터베이스종류별지원기능 카테고리데이터베이스 Postgresql Oracle Mysql Mssql Instance List Instance List O O O O Monitoring Multi DataBase O ( 일부지표만 multi db stat 가능 ) O (12c 이상이고 multi tenant 인경우 ) X O Multi Instance O O O O Trends Trends O O O O Trends Compare O O O O Long Term Trends O O O O SQL Stat SQL Stat O O O O Analysis Lock Tree O O O O PQ Tree 지원대상아님 O 지원대상아님지원대상아님 Dead Lock X X O X DB Parameter O O O O Table Info 지원예정지원예정 O 지원예정 Table Space 지원예정 O 지원예정지원예정 SGA 지원대상아님 O 지원대상아님지원대상아님 Scripts X X O X Weekly/Monthly Counter O O O O Event Event List O O O O Event Stat O O O O Event Setting O O O O Notification O O O O Report Daily Report O O O O Weekly Compare Report X X O X Management Agent Setup O O O O Agent List O O O O Project Management O O O O Copyright c 2019 WhaTap Labs Inc. All rights reserved. 13
2.1. Real Time monitoring Table 5. 데이터수집주기 수집주기 수집항목 5 초 ( 실시간 ) stat / event / active session list / lock tree / pq tree<oracle> / process list(xos) 5 분 sql stat 누적값전송 1 시간 tablespace <oracle> / sga <oracle> / dead lock <mysql> 6 시간 dbnamepack 24 시간 table size <mysql> / db parameter / items Table 6. 주요공통지표 active sessions total sessions execute count lock wait sessions 쿼리를실행중인세션수모든세션수 sql 의실행갯수 lock 을 wait 하는세션수 2.1. Real Time monitoring Public Cloud, Private Cloud 모두에적용하기위해쿼리베이스의모니터링으로제품을구성했습니다. 5 초주기의실시간데이터수집으로 데이터베이스의성능을다양한관점에서모니터링합니다. 2.1.1. Multi-Server Monitoring 하나의화면에서동시에여러인스턴스를그룹화하여모니터링합니다. 관심이있는중요지표들을선택하여전반적인시스템상황을모니터링 가능합니다. 2.1.2. Instance List 에이전트가설치된데이터베이스서버들의목록을보여줍니다. 주요성능지표및상태 (Status) 를보여줄수있도록구성되어있습니다. 성능 지표는 5 초주기로갱신되며목록의컬럼은설정을통하여원하는컬럼들을정의할수있습니다. 2.1.3. Monitoring(Multi-Database) 실시간모니터링은일정주기 (5 초 ) 로성능지표들을모니터링합니다. 현재진행중인엑티브세션, 락정보, 프로세스정보를확인할수있습니다. 2.1.4. Monitoring(Multi-Instance) 프로젝트에등록된모든인스턴스들을 5 초주기로실시간모니터링합니다. 또한특정인스턴스별로필터링하여모니터링할수있습니다. 2.1.5. Monitoring Cloud Watch 활용 아마존 RDS 인경우 Cloud Watch API 를통하여 AWS 에서제공하는정보를함께볼수있습니다. 수집주기는최소 1 분입니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 14
2.2. Active Session 2.2. Active Session 현재진행중인세션들의정보 (Query 포함 ) 를확인합니다. 10 초이상진행되고있는세션인경우노란색, 20 초이상의세션인경우빨간색으로 표현됩니다. Query 의플랜정보를함께확인할수있습니다. 2.2.1. Process XOS 에이전트를설치한경우, 데이터베이스서버의프로세스에대한정보를확인할수있습니다. 2.3. Trends 수집된정보를바탕으로특정하루동안의전체적인추이를분석할수있는기능을제공하고있습니다. 특정시점에진행중이었던세션을파악하여, 느렸던 Query 를분석할수있습니다. 서로다른일자에대한트렌드데이터를비교하여데이터베이스의성능추이를비교합니다. 하루이상의장기트렌드를분석합니다. 2.4. SQL Stat 하루동안수집된데이터에서 Top N 쿼리를보여주고분석할수있는기능을제공하고있습니다. 인스턴스별로수집된 SQL 을 DB, Schemaname, Machine 등으로카테고리화하여상세한조회가가능합니다. SQL PLAN 정보를확인할수있습니다. MySQL, Postgres 의경우에는데이터베이스내에서플랜정보변경에대한확인이어렵지만 SQL 통계기능을통해 Top-N 쿼리에대한플랜정보를자동으로수집할수있습니다. 2.5. 데이터베이스모니터링설정 해당가이드는데이터베이스모니터링을할때에설정할수있는옵션에대해설명합니다. (*) 표시가있는옵션은애플리케이션을재시작하여야만 적용되는옵션입니다. 2.5.1. 에이전트네트워크통신에관한설정 license Default : NONE 에이전트설치시서버로부터부여받은라이센스를지정합니다. 라이센스에는에이전트가속한프로젝트와보안통신을위한암호키를포함하고있습니다. whatap.server.host Default : 127.0.0.1,127.0.0.1 에이전트가수집한데이터를전송할서버를지정합니다. 수집서버이중화로 2개이상의 IP를가진경우콤마 (,) 로분리하여지정할수있습니다. 지정된 IP 에는수집서버 proxy 데몬이리스닝상태로서비스되어야합니다. whatap.server.port Default : 6600 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 15
2.5. 데이터베이스모니터링설정 수집서버 PORT 를지정합니다. 포트는하나만지정할수있으므로 whatap_server_host 에지정된수집서버들은동일 PORT 를사용해야합니다. dbms Defalut: None 모니터링할데이터베이스의종류를지정합니다. DB 의종류는다음중한가지를지정합니다. oracle, postgresql, mysql, mssql db_ip Defalut: None 모니터링할데이터베이스서버의 ip 를지정합니다. db_port Defalut: None Type : Int 데이터베이스가통신에사용하는포트를지정합니다. 각데이터베이스별기본포트는다음과같습니다. oracle: 1521 postgresql: 5432 edb: 5444 mysql: 3306 mssql: 1433 #db Defalut: None 데이터베이스접속에필요한 db 명을지정합니다. oracle 의경우 SID 를지정합니다. postgresql 과 edb 의경우지정하지않으면, 기본값으로 postgres 의 db 를사용합니다. mssql 의경우지정하지않으면, 기본값으로 master 의 db 를사용합니다. mysql 의경우는지정하지않아도됩니다. 2.5.2. AWS RDS Cloud Watch 사용에대한설정 aws_region Default : None AWS 리전을지정합니다. aws_access_key Default : None AWS 엑세스키를지정합니다. aws_secret_key Default : None AWS 시크릿키를지정합니다. cloud_watch Copyright c 2019 WhaTap Labs Inc. All rights reserved. 16
2.5. 데이터베이스모니터링설정 Default : None cloud watch 모니터링의유무를지정합니다. 지정값은 on 또는 off 입니다. cloud_watch_instance Default : None cloud watch 인스턴스명을지정합니다. cloud_watch_interval Default : None Type : Second cloud watch 로모니터링값을가져올주기를지정합니다. ( 단위 : 초 ) cloud_watch_metrics Default : None cloud watch 로가져올모니터링지표이름을지정합니다. 다음의값을지정할수있습니다. cloud_watch_metrics=cpuutilization,freeablememory,freestoragespace,networktransmitthroughput,networkreceivethroughput 2.5.3. 애플리케이션등록에관한설정 object_name Default : {type}-{ip2}-{ip3}-{port} 애플리케이션을식별하는에이전트이름 (ONAME) 체계입니다. ONAME을토대로 OID가생성됩니다. remark: 재기동필요 (Apache 및 PHP-FPM) 명칭 설명 {type} whatap.app_name 에설정된값을사용합니다. {ip#} IP 를나누었을때 # 번째자리를사용합니다. {port} whatap.app_port_name 에설정된값을사용합니다. {hostname} 서버호스트명을사용합니다. auto_oname_enabled Default : false Type : Boolean 서버에등록될에이전트이름 (oname) 을서버로부터자동부여받는기능을활성화합니다. 적용시, -Dwhatap.name, -Dwhatap.oname 옵션은무시됩니다. 수집서버와의통신을통해 oname 을부여받은이후, 에이전트의일반적인동작을개시합니다. auto_oname_prefix Default : agent 에이전트이름을서버로부터자동부여할때에이전트이름의 prefix, 보통업무명을사용합니다. prefix 일련번호 1~) 부여됩니다. auto_oname_reset Default : 0 Type : Int Copyright c 2019 WhaTap Labs Inc. All rights reserved. 17
2.5. 데이터베이스모니터링설정 서버로부터새로운에이전트이름을부여받기위해서수정합니다. 에이전트이름을자동부여하면 what.oname 이라는시스템환경변수에 셋트됩니다. 한번셋트되면자바인스턴스가재기동될때까지유지되는데리셋을원할때 auto_oname_reset 값을수정합니다.( 현재설정값과 다른값으로변경하면적용됩니다.) 2.5.4. 에이전트데이터수집에관한설정 multi_db_stat Default: 1 Type : Int multi db 의 stat 정보수집처리유무를지정합니다. oracle (pluggable db 인경우 ) 과 postgresql 에서만유효합니다. db instance 내의각 db 별로 stat 을수집할지의여부를지정하게되며, 수집부하를줄이기위해 0 으로지정할수있습니다. long_run_session_sec Defalut: 10 Type : Second 지정한시간보다길게수행되고있는세션을 long run 세션으로처리합니다. ( 단위 : 초 ) deadlock_interval Defalut: 1 Type : Int mysql 에서 deadlock 정보를가져오는주기를지정합니다. ( 단위 : 분 ) deadlock 정보는주기동안발생했던가장마지막의 deadlock 정보만을가져옵니다. tables_hour Defalut: 5 Type : Int 테이블정보를저장하기위해정보를수집하는시각을지정합니다. 기본값으로 5 를사용하며, 새벽 5시에수집을하게됩니다. tables_min_row Defalut: 10000 Type : Int 테이블정보수집시지정한값보다작은 row 수를가진테이블정보는수집하지않습니다. tables_exclude_sys Default: false Type : Boolean 테이블정보수집시 sys 소유인테이블정보의수집유무를지정합니다. true 로지정하면 sys 소유의테이블정보는수집하지않습니다. stat Defalut: 하단참조 oracle 모니터링정보중, 수집처리할 stat 지표들을콤마로구분하여지정합니다. 다음의값을기본값으로사용합니다. stat=logons current,user commits,session logical reads,cpu used by this session,db time,enqueue waits,physical reads,physical writes,execute count,db block changes,opened cursors current,parse count (total),parse count (hard),sorts (memory) event Defalut: 하단참조 Copyright c 2019 WhaTap Labs Inc. All rights reserved. 18
2.5. 데이터베이스모니터링설정 oracle 모니터링정보중, 수집처리할 event 지표들을콤마로구분하여지정합니다. 다음의값을기본값으로사용합니다. event=db file sequential read,db file scattered read,enq: TX - row lock contention exclude_background Defalut: 3 oracle 모니터링정보중, 세션갯수및세션리스트수집시 background 세션의제외유무를지정합니다. 0 : 제외하지않음. 1 : 세션리스트수집시 background 세션제외. 2 : 세션갯수처리시 background 세션제외. 3 : 세션리스트와갯수처리시 background 세션제외. my_opt Default: 0 Type : Int mysql 의 data 디렉토리권한에따라 performance_schema 가존재및사용가능상태임에도불구하고사용하지못할경우가있으며, 이때에는 dbx 에이전트가정상동작하지않습니다. 이때에 performance_schema 를사용하지않도록하려면 1 을지정합니다. 2.5.5. XOS 에이전트설정에관한설정 xos Defalut: 0 xos 에이전트사용여부를지정합니다. 0 인경우 xos 에이전트수집처리를하지않습니다. 1 또는 xos 에이전트의 ip 를적어지정합니다. ip 를지정할경우, 지정한 ip 의 xos 에이전트로부터만수집처리를합니다. xos_port Defalut: 3002 xos 에이전트와통신할포트를지정합니다. xos 에이전트와는 udp 로통신을하게되며, 방화벽등이설정되어있을경우지정한포트의 udp 통신이될수있도록설정해주어야합니다. xos_cpu_iowait Default: 1 Type : Int xos 로부터수집한 cpu 사용률에 iowait 의값을포함할지를지정합니다. 1로지정할경우 iowait 를포함하고, 0 으로지정시 iowait 를포함하지않습니다. xos_mem_buffcache Default: 0 Type : Int xos 로부터수집한 memory 사용률에 buffcache 의값을포함할지를지정합니다. 1로지정할경우 buffcache 를포함하고, 0 으로지정시 buffcache 를포함하지않습니다. Copyright c 2019 WhaTap Labs Inc. All rights reserved. 19