Altibase Agent Guide

제목 : Altibase Agent Guide
작성자 : WhaTap Support
이메일 : support@whatap.io
날짜 : 2020-10-06
버전 : 1.0

설명 : 본 문서는 WhaTap Altibase Monitoring 에이전트에 대해 설명합니다.

1. Install

에이전트 설치부터 실행, 업데이트 및 종료에 대해 설명하며, 나아가 설치 중 발생할 수 있는 오류에 대한 사례들을 설명합니다.

1.1. 에이전트 실행 및 모니터링 개요

와탭 DB 모니터링은 Query 기반으로 데이터베이스의 성능 데이터를 수집하여 성능 모니터링 서비스를 제공합니다. 데이터베이스 성능 관리는 데이터베이스의 성능을 실시간으로 감시하고 문제점을 진단, 분석하여 문제가 되는 SQL을 튜닝하고 적용하여 문제점이 해결되었는지 실시간으로 감시하는 작업입니다. 와탭 DB 모니터이러한 일련의 작업이 순환 관리되도록 설계된 데이터베이스 성능 모니터링 솔루션입니다. 데이터베이스의 동작을 감시하고 진단 및 분석하여 가용성과 성능을 일정한 수준으로 유지하는데 도움이 되도록 구성되어 있습니다. 데이터베이스에 어떤 문제가 발생한 경우, 담당자에게 알람을 전송하여 상황을 인지하고, 수집된 데이터를 통하여 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 옵션을 통해 포트 변경이 가능합니다.

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

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

JDBC다운로드 안내

DB 모니터링에서 지원하는 데이터베이스 모니터링이 가능한 종류별로 다운로드 링크를 안내합니다.

Postgresql (지원 버젼: 9.2 이상)
EDB (지원 버젼: 9.2 이상)
Oracle (지원 버젼: 10g R2 이상)
Mysql & MariaDB (지원 버젼: 5.5 이상)
Mssql (지원 버젼: 2005 이상)
Altibase (지원 버젼: 6 이상)
  • Altibase 6.x : {Altibase_Home}/lib/Altibase.jar

  • Altibase 7.x : {Altibase_Home}/lib/Altibase.jar

1.2. 표준 설치

와탭 DB 모니터링 서비스를 사용하기 위해서는 모니터링 대상 데이터베이스 서버와의 네트워크 통신이 가능한 서버에 와탭 에이전트를 설치 해야 합니다. 와탭 데이터베이스 모니터링 서비스는 모니터링 대상 데이터베이스 서버에 직접 에이전트를 설치하지 않고도 모니터링이 가능 합니다. 와탭 DB 모니터링 에이전트 설치 방법은 whatap.io 사이트에서 압축된 에이전트 파일을 다운로드 받아 서버 임의의 위치에 압축을 풀어 실행하는 것만으로 설치가 완료됩니다.

1.2.1. 설치 절차

프로젝트 생성
project main
Figure 3. 프로젝트 생성 페이지

서버를 등록하기 위해 우선 프로젝트를 생성합니다. 추가 버튼을 선택하면 아래와 같이 프로젝트 생성 창이 나타납니다. 설치하려는 데이터베이스 아이콘을 선택한 뒤, 희망하는 프로젝트명과 데이터 서버 지역(Region), 소속하게 될 그룹을 선택한 뒤 프로젝트를 생성합니다.

project widget
Figure 4. 프로젝트 이름 지정 및 수집 서버 지역 선택
라이센스 발급
license key
Figure 5. 라이센스 발급 받기

최초 프로젝트 진입시 '관리>에이전트 설치' 화면으로 진입되며, 우선적으로 라이선스를 발급 받습니다. 라이센스 키는 프로젝트별로 귀속되기 때문에, 유출되거나 배포되어서는 안됩니다. 반드시 본인 프로젝트에 서버를 등록할 때에만 이용하시기 바랍니다.

에이전트 다운로드
agent download
Figure 6. 에이전트 다운로드

라이선스를 발급 받은 후에는 에이전트 파일 'Download’ 버튼이 활성화 되었음을 확인할 수 있습니다. 해당 버튼을 눌러 와탭 에이전트 파일을 다운로드 받습니다. 다운로드가 완료되면 안에 있는 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 를 통해 모니터링 대상 데이터베이스 서버로부터 데이터 수집이 이루어집니다.

$ ./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
에이전트 프로세스 확인

다음과 같은 명령어를 통하여 동작중인 와탭 DB 모니터링 에이전트의 프로세스를 확인 할 수 있습니다.

$ ps –ef | grep dbx
로그 확인

서비스 재시작시 정상적으로 로그가 뜨는 화면을 통해 정상 구동 여부를 확인합니다. 에이전트 등록 후 수집과 관련된 로그는 $WHATAP_HOME/logs 디렉토리에서 확인 할 수 있습니다. 에이전트가 정상적으로 동작하는 경우 해당 날짜에 다음과 같은 로그 파일을 확인 할 수 있습니다.

  • whatap-DBX-[OID]-[DATE]

  • whatap-boot-[DATE].log)

모니터링 확인

서버에서 정상적으로 로그가 올라온 것을 확인한 뒤, 콘솔에 정상적으로 등록되어 있는 여부를 확인하기 위해 해당 프로젝트의 ‘관리-에이전트 목록’ 메뉴에 올라온 해당 데이터베이스 서버의 명칭을 확인합니다.