에이전트 설치
와탭 데이터베이스 모니터링 서비스 이용을 위한 기본 설치 방법을 안내합니다.
와탭 데이터베이스 에이전트 다운로드
-
에이전트 파일을 다운로드하세요. 다음 두 가지 방법을 이용하세요.
-
와탭 모니터링 서비스 화면에서 Download 버튼을 선택해 다운로드할 수 있습니다.
-
리눅스 wget 방식으로 다운로드를 할 수 있습니다. 다음 명령어를 이용하세요.
wget -O whatap.agent.database.tar.gz "https://service.whatap.io/download/dbx_agent?type=mongodb&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={Access_Key}
whatap.server.host=13.124.11.223/13.209.172.35 # WhaTap server information
dbms=mongodb
db={Database_name} # sid
db_ip={DB_server_IP_address}
db_port={DB_server_port} -
다음 디렉터리에 JDBC 드라이버를 다운로드하세요. /압축해제한 폴더/jdbc
데이터베이스 서버의 운영체제와 버전에 맞는 JDBC 드라이버를 다운로드하세요.
MongoDB JDBC Drivers: https://github.com/mongodb/mongo-jdbc-driver
계 정 생성
데이터베이스 모니터링을 하기 위해 필요한 권한을 가진 계정을 생성하세요. root(admin) 계정으로 로그인해 계정을 생성하세요.
-
이미 있는 계정을 사용하고 싶다면 DB 유저 파일 생성으로 넘어가세요. 권한이 없을 경우 모니터링을 시작할 수 없습니다.
-
예시 코드에서
whatap은 DB 사용자 계정 이름입니다. 사용자가 이용하는 사용자 계정 이름으로 변경하세요.
- 예시 코드의
DB_Password에는 사용자 비밀번호를 입력하세요.
db.createUser(
{
user: "whatap",
pwd: "DB_Password",
roles: [
{ "role" : "clusterMonitor", "db" : "admin" },
]
}
)
IAM 인증으로 접속하기
IAM 인증 설정 방법 보기
Amazon DocumentDB 5.0 이상 환경에서는 DB 비밀번호 대신 AWS IAM 인증 토큰으로 접속할 수 있습니다. MongoDB 드라이버 4.1 이 상이 필요합니다. 에이전트의 jdbc 폴더에서 드라이버 버전을 확인하세요.
비밀번호 방식을 사용한다면 이 단계를 건너뛰세요.
1단계. 접속 계정 준비하기
mongosh로 admin(마스터) 계정에 접속한 다음, 접속에 사용할 Role ARN을 $external 데이터베이스의 사용자로 등록하세요.
db.getSiblingDB("$external").createUser({
user: "arn:aws:iam::{ACCOUNT}:role/{ROLE}",
roles: [
{ role: "readAnyDatabase", db: "admin" },
{ role: "clusterMonitor", db: "admin" }
]
})
여기서 등록하는 Role은 4단계. Role 설정하기에서 만드는 Role입니다.
2단계. whatap.conf 설정하기
whatap.conf 파일에 다음 옵션을 추가하세요.
aws_iam_auth=true
aws_region=ap-northeast-2
db_ssl=true
db_user는 설정하지 않습니다. Role ARN으로 인증합니다.
AssumeRole 방식을 사용한다면 aws_arn 옵션을 추가하세요. EC2 Role 방식은 옵션을 추가하지 않습니다.
aws_arn=arn:aws:iam::{ACCOUNT}:role/{ROLE}
3단계. AWS 사전 설정하기
IAM 정책은 필요하지 않습니다. 4단계. Role 설정하기로 넘어가세요.
4단계. Role 설정하기
앞에서 만든 정책을 Role에 부착하고 에이전트에 연결합니다. 운영 환경에서는 EC2 Role 방식을 권장합니다. 액세스 키를 저장하지 않아도 됩니다.
- EC2 Role
- AssumeRole
-
신뢰할 수 있는 서비스를 EC2로 지정해 IAM Role을 만드세요.
-
앞에서 만든 정책을 Role에 부착하세요.
DocumentDB는 정책이 필요하지 않으므로 이 단계를 건너뜁니다.
-
에이전트를 실행하는 EC2 인스턴스에 Role을 연결하세요. 자세한 방법은 AWS 문서를 참조하세요.
- 이 Role의 ARN을 1단계의
$external사용자로 등록하세요.
교차 계정 환경 등 위임이 필요한 경우에 사용합니다.
-
위임받을 Role을 만들고 앞에서 만든 정책을 부착하세요.
DocumentDB는 정책이 필요하지 않으므 로 이 단계를 건너뜁니다.
-
에이전트가 실행되는 EC2의 Role이
sts:AssumeRole을 수행할 수 있도록 신뢰 관계를 설정하세요. 자세한 방법은 AWS 문서를 참조하세요. -
whatap.conf의
aws_arn옵션에 이 Role의 ARN을 지정하세요.
- 이 Role의 ARN을 1단계의
$external사용자로 등록하세요.
DB 접속 정보 암호화(UID 생성 및 갱신)
user와 password를 사용하지 않는 경우 (인증 없이 MongoDB에 접속 가능한 경우) DB 유저 파일 생성 단계를 건너뛰어도 됩니다.
데이터베이스 모니터링을 위해 2번 단계에서 생성한 DB 모니터링 계정 정보를 에이전트에 안전하게 등록해야 합니다. 와탭은 DB 접속 정보를 암호화된 UID 형태로 저장하며, 에 이전트는 이 UID를 이용하여 DB에 접속합니다.
username과 password를 입력한 뒤 다음 스크립트를 실행하세요.
비밀번호 변경 시 반드시 재실행
DB 모니터링 계정의 비밀번호가 변경된 경우, 반드시 본 단계를 다시 수행해야 합니다.
UID는 DB 접속 정보를 암호화한 값이므로,
비밀번호 변경 후 UID를 갱신하지 않으면 DB 접속 오류로 인해 모니터링 데이터 수집이 중단됩니다.
- Linux
- Windows
./uid.sh {DB_USER} {DB_PASSWORD}
uid.bat {DB_USER} {DB_PASSWORD}
- 최초 한번만 설정하면 그 이후부터는 암호화된 UID를 통해 모니터링 대상 데이터베이스 서버로부터 데이터를 수집합니다.
- DB 유저 파일을 생성하기 위해서는 프로젝트 액세스 키가 whatap.conf 파일에 입력되어 있어야 합니다. 액세스 키 확인