데이터베이스

에이전트 구성

  • 수집서버

    • 에이전트가 수집한 데이터베이스 성능 데이터를 수집, 저장 및 통계 정보 추출하고 이를 사용자에 효율적인 방법으로 제공합니다. 수집 서버는 지역(Region) 별로 설정이 가능합니다. 지역(Region) 별로 수집 서버의 주소가 다르게 할당됩니다. 사용자가 선택한 지역(Region)에 따라 수집 서버 주소는 다를 수 있습니다. 프로젝트를 생성할 때 지역(Region)도 함께 설정합니다.

  • 기본 에이전트

    • Query 기반으로 성능 데이터를 수집하여 서버로 전송합니다. 모니터링 대상 데이터베이스 서버에 직접 에이전트를 설치하지 않고도 모니터링이 가능합니다.

  • 부가에이전트 (XOS Agent)

    • XOS 에이전트는 데이터베이스 서버의 프로세스 사용량을 모니터링할 수 있는 부가 옵션 에이전트입니다. 데이터베이스 서버의 프로세스 사용량을 모니터링하고 싶은 경우, 데이터베이스 서버에 별도의 에이전트를 띄워 데이터를 수집할 수 있습니다.

  • 네트워크

    • 기본 에이전트: 와탭 모니터링 에이전트는 모니터링 정보를 수집하여 서버에 데이터 전송하기 위하여 외부 통신(TCP)을 위한 6600 포트를 사용합니다.

    • 부가 에이전트: 에이전트가 설치된 서버와 데이터베이스 서버 간 외부 통신(UDP)을 위한 3002 포트를 사용합니다. 내부 포트가 충돌이 나는 경우, dbx_port 옵션을 통해 포트 변경이 가능합니다.

agent architecture
Figure 1. 에이전트 구성도
agent xos architecture
Figure 2. 부가에이전트 (XOS Agent) 구성도

에이전트 구성 파일

Table 1. 에이전트 구성 파일의 종류

파일명

설명

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- [VERSION].jar

(Tracer 프로그램) 데이터베이스 서버의 정보를 수집하고 수집된 정보를 서버로 전송하는 프로그램

jdbc

데이터베이스 서버 연결을 위해 참조되는 라이브러리들을 모아두는 디렉터리. 에이전트와 데이터베이스 서버의 연결을 위한 라이브러리를 직접 다운로드해 java의 classpath 옵션에 경로를 지정하여 사용합니다.

xos

데이터베이스 서버의 프로세스 사용량을 모니터링할 수 있는 부가 옵션 에이전트가 포함된 디렉터리.

xos/xos.conf

데이터베이스 서버의 프로세스 사용량 데이터를 수집 및 데이터 전송을 위한 에이전트 서버의 주소와 통신 포트가 입력되는 파일.

에이전트 네이밍

와탭 모니터링 서비스에서 모니터링 대상을 포괄적인 의미로 오브젝트라는 명칭을 사용하며 에이전트와 혼용해서 사용하기도 합니다. 모니터링 대상 즉 오브젝트를 구분하기 위해서는 이름을 구분해야 합니다. 와탭은 오브젝트 이름과 오브젝트 아이디를 통해서 대상을 구분합니다.

오브젝트(에이전트) 이름은 프로젝트 단위로 유일해야 합니다.
오브젝트 아이디 = CRC32(오브젝트 이름)입니다.
오브젝트 아이디/이름이 바뀌면 이전 데이터와 연결되지 않습니다.

에이전트 이름 식별

와탭은 모니터링 정보 수집 대상인 데이터베이스 서버 식별을 위해 서버로부터 수집한 정보를 활용합니다. 고유 식별자는 기본적으로 데이터베이스 서버 종류, 서버 IP, 서비스 포트로 이루어져 있습니다. 필요에 따라 사용자가 지정한 명칭을 사용하거나 패턴을 변경할 수 있습니다. 이때에는 꼭 고유한 값이어야만 합니다.

데이터베이스 서버를 식별하기 위해 사용하는 기본 패턴은 다음과 같습니다.
패턴 변경은 whatap.conf의 설정에서 할 수 있습니다.

object_name

Default : {type}-{ip2}-{ip3}-{process}
Type : String

명칭

설명

{type}

whatap.app_name에 설정된 값을 사용합니다.

{ip#}

IP를 나누었을 때 #번째 자리를 사용합니다.

{process}

whatap.app_process_name에 설정된 값을 사용합니다.

{hostname}

서버 호스트명을 사용합니다.

(*) 표시가 있는 옵션은 애플리케이션을 다시 시작해야 적용되는 옵션입니다.