직접 설치
와탭 데이터베이스 모니터링 서비스 이용을 위한 기본 설치 방법을 안내합니다.
구성도 확인
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 | - |
IAM 인증으로 접속하기
IAM 인증 설정 방법 보기
AWS RDS·Aurora 환경에서는 DB 비밀번호 대신 AWS IAM 인증 토큰으로 접속할 수 있습니다. PostgreSQL, MySQL, MariaDB에서 사용할 수 있으며 Oracle, SQL Server, DB2는 지원하지 않습니다.
비밀번호 방식을 사용한다면 이 단계를 건너뛰세요.
1단계. 접속 계정 준비하기
IAM 인증으로 접속할 계정을 만들고 SSL 접속을 요구하도록 설정하세요.
CREATE USER 'DB_User'@'%' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
ALTER USER 'DB_User'@'%' REQUIRE SSL;
다음 권한은 모니터링에 필요한 권한입니다. IAM 인증과는 무관하며, 비밀번호 방식에서도 동일하게 부여합니다.
GRANT SELECT, PROCESS, REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'DB_User'@'%';

