패키지 매니저 설치
패키지 매니저를 이용한 와탭 데이터베이스 모니터링 에이전트 설치 방법을 안내합니다.
지원 데이터베이스
MySQL, PostgreSQL, SQL Server
와탭 모니터링 서비스를 사용하려면 회원 가입 후 프로젝트를 생성하고, 모니터링 대상 서버에 에이전트를 설치해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참고하세요.
프로젝트 생성하기
에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.
-
와탭 모니터링 서비스에 로그인합니다.
-
왼쪽 사이드 메뉴에서 전체 프로젝트 > + 프로젝트 버튼을 클릭합니다.
-
상품 선택 화면에서 설치할 제품을 선택합니다.
-
아래 항목을 입력하거나 선택합니다.
-
프로젝트 이름: 프로젝트의 이름을 입력합니다.
-
데이터 서버 지역: 데이터 서버가 위치한 리전을 선택합니다. 리전은 클라우드 서비스를 제공하는 데이터 센터의 묶음입니다. 선택한 리전에 사용자의 데이터가 저장됩니다.
-
타임 존: 알림 및 보고서 생성 시 기준이 되는 시간을 설정합니다.
-
알림 언어 설정: 경고 알림 메시지의 언어를 설정합니다. (한글, 영어 지원)
-
프로젝트 그룹: 여러 프로젝트를 그룹으로 묶어 관리할 수 있습니다. 소속될 그룹이 있으면 선택하세요.
-
프로젝트 설명: 프로젝트에 대한 추가 설명이나 세부 정보를 입력합니다.
-
-
모든 설정을 완료하면 프로젝트 생성하기 버튼을 클릭합니다.
조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.
그룹에 대한 자세한 설명은 다음 문서를 참고하세요.
구성도 확인
DBX 에이전트는 별도 서버에 설치하거나 DB 서버에 설치할 수 있습니다. 설치할 방식을 선택하고 구성과 방화벽을 확인하세요.
| 별도 서버에 설치 | DB 서버에 같이 설치 |
|---|---|
|
|
계정 생성
-
권한을 가진 계정이 있다면 이 단계를 생략하고 다음 단계로 넘어가세요.
-
예시 코드에서
DB_User는 DB 사용자 계정 이름입니다. 사용자가 이용하는 사용자 계정 이름으로 변경하세요. -
예시 코드의
DB_Password에는 사용자 비밀번호를 입력하세요. -
권한이 없는 계정은 모니터링이 정상적으로 이루어지지 않을 수 있습니다.
-
리플리케이션 구조의 경우 계정 생성 및 권한 부여는 Master DB에서만 수행해야 합니다. (Slave DB에서 수행할 경우 복제가 깨질 수 있습니다.)
- MySQL
- MariaDB
create user DB_User identified by 'DB_PASSWORD'; # 원하는 password를 입력하세요.
grant process on *.* to DB_User;
grant select on performance_schema.* to DB_User;
grant show databases on *.* to DB_User;
MySQL 8.0 이상에서 락 정보를 모니터링하려면 다음 권한이 반드시 필요합니다.
grant select on `sys`.`sys_config` TO DB_User;
grant select on `sys`.`innodb_lock_waits` TO DB_User;
grant execute on function `sys`.`format_statement` TO DB_User;
grant execute on function `sys`.`quote_identifier` TO DB_User;
grant execute on function `sys`.`sys_get_config` TO DB_User;
기능 및 사용 환경에 따라 추가 권한을 부여하세요.
-
모든 테이블 정보를 수집할 경우
grant select on *.* to DB_User; -
특정 DB의 테이블만 모니터링하는 경우
grant select on {DB_NAME}.* to DB_User; -
Replication 사용할 경우
grant replication client on *.* to DB_User;
grant replication slave on *.* to DB_User; -
Kill session 기능을 사용할 경우
grant super on *.* to DB_User; -
AWS RDS 환경에서 kill session 기능을 사용할 경우
grant execute on procedure mysql.rds_kill to DB_User;
create user DB_User identified by 'DB_PASSWORD'; # 원하는 password를 입력하세요.
grant process on *.* to DB_User;
grant select on performance_schema.* to DB_User;
grant show databases on *.* to DB_User;
기능 및 사용 환경에 따라 추가 권한을 부여하세요.
-
모든 테이블 정보를 수집할 경우
grant select on *.* to DB_User; -
특정 DB의 테이블만 모니터링하는 경우
grant select on {DB_NAME}.* to DB_User; -
Replication 사용할 경우
below MariaDB 10.5.1grant replication client, replication slave on *.* to DB_User;MariaDB 10.5.2 ~ 10.5.8grant replication master admin, replication slave admin, binlog monitor on *.* to DB_User;MariaDB 10.5.9 or latergrant replication master admin, replica monitor, binlog monitor on *.* to DB_User;노트AWS RDS MariaDB의 경우 Replication 정보 조회는 10.5 버전 미만까지 지원합니다.
-
Kill session 기능을 사용할 경우
grant super on *.* to DB_User; -
AWS RDS 환경에서 kill session 기능을 사용할 경우
grant execute on procedure mysql.rds_kill to DB_User;
권한에 따른 지원 기능 살펴보기
기본 권한 외의 권한은 사용자의 환경에 따라 부여하지 않아도 됩니다. 단, 일부 기능이 동작하지 않을 수 있습니다.
| 권한 | command | 메뉴 및 기능 | 상세 내역 |
|---|---|---|---|
| 기본 권한 | grant process on *.* to whatap; | 액티브 세션 수집 / 락 트리 / 데드락 | 다른 계정에 속한 스레드 정보 표시를 위한 권한, show engine 수행 |
grant select on performance_schema.* to whatap; | 액티브 세션 수집 / 락 트리 / MYSQL SQL 통계 | 개별 권한 부여 시 다음 표 내용 참조 | |
grant show databases on *.* to whatap; | 인스턴스 목록 등 | 데이터베이스 이름 표시 | |
| 상세 권한 | grant select on *.* to whatap;또는 grant select on {DB_NAME}.{TABLE_NAME} to whatap; | 데이터베이스 사이즈 / 테이블 사이즈 증감 / Object detail / 플랜 조회 | MySQL은 해당 테이블에 대한 SELECT 권한이 없으면 데이터베이스 사이즈, Object detail, 플랜 조회 기능을 지원하지 않습니다. |
| replication | grant replication client on *.* to whatap; | 인스턴스 목록 의 S 표시 / replication 정보 수집 | SHOW MASTER STATUS, SHOW SLAVE STATUS |
grant replication slave on *.* to whatap; | 인스턴스 목록의 M 표시 / replication 정보 수집 | SHOW SLAVE HOSTS | |
| 세션 킬 | grant super on *.* to whatap; | 액티브 세션 리스트에서 세션 킬 기능 | 다른 계정에 속한 스레드 종료 |
grant execute on procedure mysql.rds_kill to DB_User; | AWS RDS의 경우 세션 킬 기능 | - |
performance_schema.* 대신 다음 권한을 개별로 부여해도 됩니다.
| 권한 | command | 비고 |
|---|---|---|
| 액티브 세션 / 락 트리 | performance_schema.data_lock_waits | MySQL 8 버전부터 |
performance_schema.data_locks | ||
performance_schema.threads | - | |
performance_schema.metadata_locks | MariaDB 10.5 버전부터 | |
| Wait event 정보 | performance_schema.events_waits_summary_global_by_event_name | - |
| SQL 통계 정보 | performance_schema.events_statements_summary_by_digest | - |
| Wait 지표 이름 | performance_schema.setup_instruments | - |
액세스 키 확인
액세스 키는 와탭 서비스 활성화를 위한 고유 ID입니다.
설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 액세스 키를 자동으로 발급받은 후 다음 단계를 진행합니다.
프로젝트를 생성한 후, 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 화면 왼쪽 메뉴에서 관리 > 에이전트 설치를 선택하세요.
에이전트 설치
와탭 리포지토리 추가
다음 명령어를 실행하여 와탭 공식 리포지토리를 시스템에 추가합니다.
curl -s https://repo.whatap.io/debian/release.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/whatap-release.gpg > /dev/null
echo "deb [signed-by=/etc/apt/trusted.gpg.d/whatap-release.gpg] https://repo.whatap.io/debian unstable/" | sudo tee /etc/apt/sources.list.d/whatap.list
sudo apt-get update
패키지 설치
다음 명령어로 와탭 데이터베이스 모니터링 에이전트를 설치합니다.
sudo apt-get install whatap-db
에이전트 설정 및 시작
설정 파일을 생성하고 에이전트를 시작합니다.
sudo bash -c 'cat > /usr/whatap/db/whatap.conf <<EOF
license=라이센스
whatap.server.host=13.124.11.223/13.209.172.35
dbms=mysql
db_ip=127.0.0.1
db_port=3306
EOF'
cd /usr/whatap/db && sudo /usr/whatap/db/uid.sh whatap whatap && cd -
sudo service whatap-db restart
whatap.conf파일에 필요한 데이터베이스 옵션을 추가할 수 있습니다.uid.sh스크립트의 파라미터 값(데이터베이스 계정 ID 및 비밀번호)을 실제 환경에 맞게 수정하세요.
에이전트 관리
에이전트 업데이트
에이전트를 최신 버전으로 업데이트하려면 다음 명령어를 실행합니다.
sudo apt-get update
sudo apt-get install whatap-db
sudo service whatap-db restart
에이전트 중지 및 패키지 제거
와탭 데이터베이스 모니터링 에이전트를 제거하려면 다음 명령어를 실행합니다.
sudo service whatap-db stop
sudo apt-get remove whatap-db
에이전트 로그 확인
에이전트 로그를 확인하려면 다음 명령어를 사용합니다.
sudo service whatap-db log

