에이전트 설치
이 문서는 Oracle 모니터링 V2를 기준으로 작성했습니다. Oracle 모니터링 V1 문서는 다음 문서를 참조하세요.
와탭 데이터베이스 모니터링 서비스 이용을 위한 기본 설치 방법을 안내합니다.
와탭 모니터링 서비스를 사용하기 위해서는 회원 가입 후 프로젝트를 생성하고 대상 서버에 에이전트를 설치해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참조하세요.
프로젝트 생성하기
에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.
-
와탭 모니터링 서비스로 이동한 다음 로그인하세요.
-
프로젝트를 생성하려면 화면 왼쪽 사이드 메뉴에서 전체 프로젝트 > + 프로젝트 버튼을 선택하세요.
-
상품 선택 화면에서 프로젝트에 설치할 상품을 선택하세요.
-
프로젝트 이름, 데이터 서버 지역, 타임 존 항목을 차례로 설정하세요.
-
알림 언어 설정에서 경고 알림 메시지의 언어를 선택하세요.
-
모든 설정을 완료한 다음에는 프로젝트 생성하기 버튼을 선택하세요.
-
데이터 서버 지역은 리전(클라우드 서비스를 제공하기 위해 설치한 데이터 센터의 묶음)을 의미합니다. 특정 리전을 선택하면 해당 리전에 속한 데이터 센터에 사용자의 데이터를 저장합니다.
-
타임 존은 알림, 보고서를 생성하는 기준 시간입니다.
-
여러 개의 프로젝트를 그룹으로 묶어 관리하려면 프로젝트 그룹에서 그룹을 선택하거나 그룹을 추가하세요. 그룹에 대한 자세한 설명은 다음 문서를 참조하세요.
-
조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.
프로젝트 액세스 키 확인
프로젝트 액세스 키는 와탭 서비스 활성화를 위한 고유 ID입니다.
설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 프로젝트 액세스 키를 자동으로 발급 받은 후 다음 단계를 진행합니다.
프로젝트를 생성한 다음에는 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 왼쪽 메뉴에서 전체 프로젝트를 선택한 다음 새로 생성한 프로젝트를 선택하세요.
와탭 데이터베이스 에이전트 다운로드
-
에이전트 파일을 다운로드하세요. 다음 두 가지 방법을 이용하세요.
-
와탭 모니터링 서비스 화면에서 Download 버튼을 선택해 다운로드할 수 있습니다.
-
리눅스 wget 방식으로 다운로드를 할 수 있습니다. 다음 명령어를 이용하세요.
wget -O whatap.agent.database.tar.gz "https://service.whatap.io/download/dbx_agent?type=oracle&format=tar.gz"
노트보안 설정으로 인해 tar 형식의 파일을 다운로드할 수 없는 사용자를 위해 ZIP 형식의 파일도 함께 제공합니다. 설치 화면에서 .zip 다운로드 버튼을 선택하세요.
-
-
다운로드한 파일을 분석할 서버에 복사한 다음 압축을 해제하세요.(윈도우, 리눅스 동일)
에이전트 구성 파일
파일명 설명 whatap.conf 데이터베이스 서버의 데이터를 수집하는 수집 서버의 주소와 서버의 프로젝트 액세스 키를 입력하는 파일입니다. 에이전트 설정에 관한 자세한 내용은 다음 문서를 참조하세요. alert/alert.conf 수집하는 모니터링 항목에 임계치를 설정하는 파일입니다. 임계치를 초과하는 경우 알림 이벤트가 발생합니다. scripts/ 원격으로 sql 스크립트를 실행할 수 있는 스크립트들을 모아둔 디렉터리입니다. ps.sh 프로세스 아이디를 읽어 오는 스크립트입니다. 에이전트 프로세스를 종료할 때 해당 아이디를 참고합니다. stop.sh 에이전트 프로세스를 종료할 때 사용하는 스크립트입니다. uid.sh (uid.bat) 데이터베이스 접속 정보를 조합하여 암호화된 UID를 생성하기 위한 쉘 스크립트 파일입니다. db.user 파일을 생성합니다. 최초 한 번만 설정해두면 암호화된 UID를 통해 모니터링 대상 데이터베이스 서버로부터 데이터 수집을 진행합니다.
모니터링용 계정 생성에 관한 자세한 내용은 다음 문서를 참조하세요.start.sh (start.bat) 에이전트 실행을 위한 쉘 스크립트 파일입니다. 에이전트를 실행하면 데이터베이 스 서버의 모니터링 정보를 수집하기 시작합니다. startd.sh (startd.bat) 에이전트 실행을 위한 쉘 스크립트 파일로 백그라운드로 실행할 수 있습니다. whatap.agent.dbx- X.Y.Z
.jarTracer 프로그램, 데이터베이스 서버의 정보를 수집하고, 수집한 정보를 서버로 전송하는 프로그램입니다. jdbc 데이터베이스 서버 연결을 위해 참조하는 라이브러리들을 모아두는 디렉터리입니다. 에이전트와 데이터베이스 서버의 연결을 위한 라이브러리를 직접 다운로드해 java의 classpath 옵션에 경로를 설정하여 사용합니다. xos/ 데이터베이스 서버의 프로세스 사용량을 모니터링할 수 있는 부가 옵션 에이전트가 포함된 디렉터리입니다. ⎿ xos.conf 데이터베이스 서버의 프로세스 사용량 데이터를 수집 및 데이터 전송을 위한 에이전트 서버의 주소와 통신 포트를 입력하는 파일입니다. * xcub/ CUBRID 데이터베이스의 SQL 텍스트 수집과 지표 계산을 수행하는 부가 에이전트 파일이 들어있는 디렉터리입니다. ⎿ * xcub.conf CUBRID 데이터베이스 및 부가 에이전트 연결 정보를 입력하는 파일입니다. 노트*: xcub 경로의 파일은 CUBRID 모니터링을 위한 전용 파일입니다.
-
압축을 해제한 폴더로 진입해서 whatap.conf 파일을 확인하세요. whatap.conf 파일에 프로젝트 액세스 키 정보 및 와탭 서버 정보, db 접속 정보를 입력하세요.
whatap.conflicense={AccessKey}
whatap.server.host=13.124.11.223/13.209.172.35 # WhaTap server information
dbms=oracle
db={DB_Name(sid)}
db_ip={DB_Server_IP}
db_port={DB_Server_Port} -
다음 디렉터리에 JDBC 드라이버를 다운로드하세요. /압축해제한 폴더/jdbc
데이터베이스 서버의 운영체제와 버전에 맞는 JDBC 드라이버를 다운로드하세요.
Oracle 10g R2 버전 이상: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
계정 생성
데이터베이스 모니터링을 하기 위해 필요한 권한을 가진 계정을 생성하세요. root(admin) 계정으로 로그인해 계정을 생성하세요.
-
이미 있는 계정을 사용하고 싶다면 DB 유저 파일 생성으로 넘어가세요. 권한이 없을 경우 모니터링을 시작할 수 없습니다.
-
예시 코드에서
whatap
은 DB 사용자 계정 이름입니다. 사용자가 이용하는 사용자 계정 이름으로 변경하세요.
- 예시 코드의
DB_Password
에는 사용자 비밀번호를 입력하세요.
-
일반적인 경우
create user whatap identified by DB_PASSWORD;
grant create session to whatap;
grant select any dictionary to whatap; -
12c 이상에서 멀티태넌트의 경우 (접두어 c##)
create user c##whatap identified by DB_PASSWORD;
grant create session to c##whatap;
grant select any dictionary to c##whatap;
alter user c##whatap set container_data = ALL container = CURRENT; -
kill session 기능을 사용하는 경우
grant alter system to whatap
권한에 따른 지원 기능 살펴보기
기본 권한 외의 권한은 사용자의 환경에 따라 부여하지 않아도 됩니다. 단, 일부 기능이 동작하지 않을 수 있습니다.
권한 | command (Single DB) | command (Multitenant DB) | 메뉴 및 기능 | 상세 내역 |
---|---|---|---|---|
기본 권한 | grant create session to whatap; | grant create session to c##whatap; | 접속 | - |
grant select any dictionary to whatap; | grant select any dictionary to c##whatap; | 인스턴스 모니터링 / 멀티 인스턴스 모니터링 / SQL 통계 | 개별 권한 부여 시 다음 표 내용 참조 | |
- | alter user c##whatap set container_data = ALL container = CURRENT; | 멀티태넌트 DB를 사용하는 경우(12C 이상) pdb 조회를 위한 필수 권한임 | ||
세션 킬 | grant alter system to whatap; | grant alter system to c##whatap; | 액티브 세션 > 세션 킬 | - |
히든 파라미터 조회 | create view sys.DB_User_vw_ksppi as select * from sys.x$ksppi; grant select on sys.DB_User_vw_ksppi to DB_User; create synonym DB_User.DB_User_vw_ksppi for sys.DB_User_vw_ksppi; | 파라미터 조회 메뉴에 히든 파라미터 내용 포함 | 히든 파라미터를 조회하려면 별도의 뷰/시노님 생성 및 권한 부여 필요 | |
create view sys.DB_User_vw_ksppcv as select * from sys.x$ksppcv; grant select on sys.DB_User_vw_ksppcv to DB_User; create synonym DB_User.DB_User_vw_ksppcv for sys.DB_User_vw_ksppcv; |
select any dictionary
대신 다음 권한을 개별로 부여해도 됩니다.
권한 | command (Single DB) | command (Multitenant DB) |
---|---|---|
액티브 세션 / 락 트리 / 지표 정보 | grant select on v_$sqlarea to whatap; | grant select on v_$sqlarea to c##whatap; |
grant select on v_$transaction to whatap; | grant select on v_$transaction to c##whatap; | |
grant select on v_$instance to whatap; | grant select on v_$instance to c##whatap; | |
grant select on v_$sysstat to whatap; | grant select on v_$sysstat to c##whatap; | |
grant select on v_$lock to whatap; | grant select on v_$lock to c##whatap; | |
grant select on v_$sesstat to whatap; | grant select on v_$sesstat to c##whatap; | |
grant select on v_$event_name to whatap; | grant select on v_$event_name to c##whatap; | |
grant select on v_$session to whatap; | grant select on v_$session to c##whatap; | |
grant select on v_$sql to whatap; | grant select on v_$sql to c##whatap; | |
grant select on v_$process to whatap; | grant select on v_$process to c##whatap; | |
grant select on v_$statname to whatap; | grant select on v_$statname to c##whatap; | |
grant select on v_$system_event to whatap; | grant select on v_$system_event to c##whatap; | |
grant select on v_$osstat to whatap; | grant select on v_$osstat to c##whatap; | |
grant select on v_$px_session to whatap; | grant select on v_$px_session to c##whatap; | |
grant select on v_$sga to whatap; | grant select on v_$sga to c##whatap; | |
- | grant select on v_$con_sysstat to c##whatap; | |
파라미터 정보 | grant select on v_$parameter to whatap; | grant select on v_$parameter to c##whatap; |
Wait 정보 / Event 정보 | grant select on v_$event_name to whatap; | grant select on v_$event_name to c##whatap; |
grant select on v_$system_event to whatap | grant select on v_$con_system_event to c##whatap; | |
grant select on v_$system_wait_class to whatap; | grant select on v_$system_wait_class to c##whatap; | |
- | grant select on v_$con_system_wait_class to c##whatap; | |
Tablespace 정보 | grant select on dba_data_files to whatap; | grant select on cdb_data_files to c##whatap; |
grant select on dba_free_space to whatap; | grant select on cdb_free_space to c##whatap; | |
grant select on dba_temp_files to whatap; | grant select on v_$sort_segment to c##whatap; | |
grant select on v_$temp_extent_pool to whatap; | grant select on v_$tempfile to c##whatap; | |
grant select on v_$containers to whatap; (12c 이상) | grant select on v_$containers to c##whatap; |
DB 유저 파일 생성
데이터베이스 접속을 위해 암호화된 UID를 생성합니다. username과 password를 입력하고 쉘 스크립트(또는 배치 파일)를 실행하세요.
- Linux
- Windows
./uid.sh {DB_USER} {DB_PASSWORD}
-
최초 한번만 설정하면 그 이후부터는 암호화된 UID를 통해 모니터링 대상 데이터베이스 서버로부터 데이터 수집을 진행합니다.
-
DB 유저 파일을 생성하기 위해서는 프로젝트 액세스 키가 whatap.conf 파일에 입력되어 있어야 합니다. 액세스 키 확인
-
Azure Database 환경의 경우
DB_USER
를 DB_USER@DB_name과 같은 형식으로 입력해야 합니다. -
DB_USER
또는DB_PASSWORD
에 특수문자가 포함될 경우 특수문자 앞에 Escape Character(\)를 같이 입력하세요.Example./uid.sh whatap whatap\!pwd
# 특수문자가 2개 이상일 경우 각각 이스케이프 문자 추가
./uid.sh whatap whatap\!\@pwd
uid.bat "DB_USER" "DB_PASSWORD"
-
최초 한번만 설정하면 그 이후부터는 암호화된 UID를 통해 모니터링 대상 데이터베이스 서버로부터 데이터 수집을 진행합니다.
-
DB 유저 파일을 생성하기 위해서는 프로젝트 액세스 키가 whatap.conf 파일에 입력되어 있어야 합니다. 액세스 키 확인
-
Azure Database 환경의 경우
DB_USER
를 DB_USER@DB_name과 같은 형식으로 입력해야 합니다. -
DB_USER
또는DB_PASSWORD
에 특수문자가 포함될 경우 특수문자 앞에 Escape Character(\)를 같이 입력하세요.Exampleuid.bat whatap whatap\!pwd
# 특수문자가 2개 이상일 경우 각각 이스케이프 문자 추가
uid.bat whatap whatap\!\@pwd
모니터링 시작하기
에이전트를 설치한 경로에서 쉘 스크립트(또는 배치 파일)를 실행하세요.
- Linux
- Windows
./start.sh
데몬처럼 사용하고 싶은 경우에는 다음 명령어를 실행하세요. 단 nohup을 설치한 환경에서만 동작합니다.
./startd.sh
start.bat
Windows 시스템 시작 시 자동으로 에이전트를 시작하도록 서비스에 등록할 수 있습니다. 다음 명령어를 참조하세요.
# 서비스 등록 시
install_WindowsService.bat create WhatapDBXAgent
# 서비스 삭제 시
install_WindowsService.bat delete WhatapDBXAgent
제어판 > Windows 도구 > 서비스(services.msc)에서 WhatapDBXAgent 서비스를 시작하거나 중지할 수 있습니다. 사용하는 Windows 버전에 따라 서비스 경로는 다를 수 있습니다.
데이터베이스 모니터 링을 위한 에이전트 설치를 완료했습니다. 다음 문서에서 설치 후 점검 사항을 확인하세요.
부가 에이전트(XOS) 설치 및 기타 옵션 적용하기
데이터베이스 서버의 자원을 추가로 모니터링하려면 데이터베이스 서버에 별도의 XOS 에이전트를 실행해 데이터를 수집할 수 있습니다.
-
x86 아키텍쳐 기반에서 동작하는 OS 환경에만 적용할 수 있습니다.
-
부가 에이전트 설치 과정은 필수가 아닌 선택 사항입니다.
- XOS 에이전트 설정 옵션에 대한 자세한 내용은 다음 문서를 참조하세요.
- XOS
- RDS : AWS CloudWatch
-
DBX 에이전트가 설치된 경로의 whatap.conf 파일에 다음 옵션을 설정하세요.
whatap.confxos=1
xos_port=3002 -
xos 폴더(
/압축 해제 폴더/xos/
)를 데이터베이스 서버로 이동하세요. -
데이터베이스 서버로 이동한 xos 경로의 xos.conf 파일에 다음 옵션을 설정하세요.
xos.confdbx_ip={DB_Agent_IP}
dbx_port=3002 # default 3002
cpu_limit=0
mem_limit=10240팁에이전트 설치 메뉴에서 DB Agent IP, DB Agent Port 항목에 DB 정보를 입력하면 에이전트 옵션을 자동 생성할 수 있습니다.
-
XOS 에이전트 실행 권한을 부여하세요.
chmod +x ./whatap.agent.xos*
-
XOS 에이전트를 실행하세요.
./start.sh
-
DBX 에이전트로 모니터링한 데이터를 전송하기 위해
dbx_port
로 설정한 포트(default 3002)가 열려 있어야 합니다. (UDP Outbound) -
XOS 에이전트를 백그라운드로 실행하려면 ./startd.sh 파일을 실행하세요.
에이전트 서버에 있는 whatap.conf 파일에 다음 옵션을 설정하세요. CloudWatch 특성상 60초(cloud_watch_interval
)마다 호출을 권장합니다.
aws_region={AWS_RDS_Region_Name}
aws_arn=arn:aws:iam::999999999999:role/UpdateApp
cloud_watch=on
cloud_watch_instance=RDS_DB_Instance_Name
cloud_watch_interval=60
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
AWS CloudWatch 지표 조회를 위해 다음 명령어를 실행하세요. DB_Instance_Name
항목을 변경한 다음 명령어를 실행하세요.
aws cloudwatch list-metrics --namespace AWS/RDS --dimensions Name=DBInstanceIdentifier,Value={DB_Instance_Name}
다음 단계
-
설치 점검하기
프로젝트 생성 및 에이전트 설치, 기본 에이전트 옵션까지 모두 적용했다면 다음 문서에서 점검 사항을 확인하세요.
-
설치 문제 해결
에이전트 설치 시 발생할 수 있는 다양한 문제들과 이를 해결하기 위한 구체적인 지침을 제공합니다. 자세한 내용은 다음 문서를 참조하세요.
-
에이전트 설정
에이전트 설정(whatap.conf) 파일에 옵션을 적용해 모니터링을 위한 다양한 기능을 제공합니다. 자세한 내용은 다음 문서를 참조하세요.
데이터베이스 서버 자원을 추가로 모니터링하려면 부가 에이전트(XOS)에 추가 옵션을 설정하세요. 자세한 내용은 다음 문서를 참조하세요.
-
모니터링 시작하기
모든 설정을 완료한 다음 데이터베이스 서버의 지표를 에이전트가 정보를 수집하기 시작합니다. 먼저 인스턴스 목록 메뉴에서 모니터링 데이터가 수집되는지 확인하세요. 인스턴스 목록에 대한 자세한 내용은 다음 문서를 참조하세요.