본문으로 건너뛰기

Docker 설치

Docker 컨테이너를 이용한 와탭 데이터베이스 모니터링 에이전트 설치 방법을 안내합니다.

설치 방법 선택

  • Docker 환경에서 사용하는 경우 이 문서를 참고하세요.
  • Debian/Ubuntu 시스템에서는 패키지 매니저 설치를 권장합니다.
  • 기타 환경에서는 직접 설치를 참고하세요.
노트

지원 데이터베이스

MySQL, PostgreSQL, SQL Server

와탭 모니터링 서비스를 사용하려면 회원 가입 후 프로젝트를 생성하고, 모니터링 대상 서버에 에이전트를 설치해야 합니다. 회원 가입에 관한 자세한 내용은 다음 문서를 참고하세요.

프로젝트 생성하기

에이전트를 설치하기 전에 먼저 프로젝트를 생성하세요.

  1. 와탭 모니터링 서비스에 로그인합니다.

  2. 왼쪽 사이드 메뉴에서 전체 프로젝트 > + 프로젝트 버튼을 클릭합니다.

  3. 상품 선택 화면에서 설치할 제품을 선택합니다.

  4. 아래 항목을 입력하거나 선택합니다.

    • 프로젝트 이름: 프로젝트의 이름을 입력합니다.

    • 데이터 서버 지역: 데이터 서버가 위치한 리전을 선택합니다. 리전은 클라우드 서비스를 제공하는 데이터 센터의 묶음입니다. 선택한 리전에 사용자의 데이터가 저장됩니다.

    • 타임 존: 알림 및 보고서 생성 시 기준이 되는 시간을 설정합니다.

    • 알림 언어 설정: 경고 알림 메시지의 언어를 설정합니다. (한글, 영어 지원)

    • 프로젝트 그룹: 여러 프로젝트를 그룹으로 묶어 관리할 수 있습니다. 소속될 그룹이 있으면 선택하세요.

    • 프로젝트 설명: 프로젝트에 대한 추가 설명이나 세부 정보를 입력합니다.

  5. 모든 설정을 완료하면 프로젝트 생성하기 버튼을 클릭합니다.

노트

조직을 선택한 상태에서 프로젝트를 추가할 경우 조직 하위 그룹을 필수로 설정해야 합니다.

그룹에 대한 자세한 설명은 다음 문서를 참고하세요.

구성도 확인

DBX 에이전트는 별도 서버에 설치하거나 DB 서버에 설치할 수 있습니다. 설치할 방식을 선택하고 구성과 방화벽을 확인하세요.

별도 서버에 설치DB 서버에 같이 설치

계정 생성

노트
  • 권한을 가진 계정이 있다면 이 단계를 생략하고 다음 단계로 넘어가세요.

  • 예시 코드에서 DB_User는 DB 사용자 계정 이름입니다. 사용자가 이용하는 사용자 계정 이름으로 변경하세요.

  • 예시 코드의 DB_Password에는 사용자 비밀번호를 입력하세요.

  • 권한이 없는 계정은 모니터링이 정상적으로 이루어지지 않을 수 있습니다.

  • 리플리케이션 구조의 경우 계정 생성 및 권한 부여는 Master DB에서만 수행해야 합니다. (Slave DB에서 수행할 경우 복제가 깨질 수 있습니다.)

  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;
권한에 따른 지원 기능 살펴보기

기본 권한 외의 권한은 사용자의 환경에 따라 부여하지 않아도 됩니다. 단, 일부 기능이 동작하지 않을 수 있습니다.

권한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, 플랜 조회 기능을 지원하지 않습니다.
replicationgrant 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_waitsMySQL 8 버전부터
performance_schema.data_locks
performance_schema.threads-
performance_schema.metadata_locksMariaDB 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입니다.

설치 안내 섹션에서 프로젝트 액세스 키 발급받기 버튼을 선택하세요. 액세스 키를 자동으로 발급받은 후 다음 단계를 진행합니다.

노트

프로젝트를 생성한 후, 자동으로 에이전트 설치 페이지로 이동합니다. 에이전트 설치 페이지로 이동하지 않는다면 화면 왼쪽 메뉴에서 관리 > 에이전트 설치를 선택하세요.

에이전트 실행

다음 명령어를 실행하여 Docker 컨테이너로 와탭 데이터베이스 모니터링 에이전트를 실행합니다.

docker run -d --name whatap-db-agent \
-e WHATAP_CONF="
license=x6051ro88nrc9-x4hmr76jvvlfnq-z52cnv1dfa8n5c
whatap.server.host=13.124.11.223/13.209.172.35
dbms=mysql
db_ip=10.0.0.1
db_port=3306
connect_option=?useSSL=true&verifyServerCertificate=false&serverTimezone=SERVER_TIMEZONE" \
-e DB_USERNAME=mydbuser \
-e DB_PASSWORD=mypassword \
whatap/db-agent:latest

설정 항목

필수 설정

  • license: 프로젝트 액세스 키
  • whatap.server.host: 와탭 수집 서버 IP (13.124.11.223/13.209.172.35)
  • dbms: 데이터베이스 유형 (mysql, postgresql, mssql)
  • db_ip: 데이터베이스 서버 IP 주소
  • db_port: 데이터베이스 서버 포트 번호
  • DB_USERNAME: 데이터베이스 계정 ID
  • DB_PASSWORD: 데이터베이스 계정 비밀번호

선택 설정

  • connect_option: 데이터베이스 연결 옵션
    • useSSL=true&verifyServerCertificate=false: SSL을 사용하여 데이터베이스에 연결하는 경우
    • serverTimezone=SERVER_TIMEZONE: JDBC 드라이버 접속 시 서버 타임존 설정이 필요한 경우
노트

위 명령어의 설정 값을 실제 환경에 맞게 수정하세요.

에이전트 동작 확인

다음 명령어로 에이전트가 정상적으로 동작하는지 확인합니다.

docker logs -f whatap-db-agent

에이전트 제거

다음 명령어를 실행하여 와탭 데이터베이스 모니터링 에이전트 컨테이너를 중지하고 제거합니다.

docker stop whatap-db-agent && docker rm whatap-db-agent