설치 및 사용
DBX for Cloud, DBXC는 두 가지 주요 컴포넌트로 구성됩니다.
- dbxc-agent: 클라우드 지표를 모니터링하는 백그라운드 서비스 (에이전트)
- dbxc-ctl: 에이전트를 제어하는 CLI 도구 (시작, 중지, 상태 확인, 로그 조회)
에이전트 설치
| OS | 아키텍처 | 패키지 |
|---|---|---|
| Linux | amd64, arm64 | .tar.gz |
| Windows 10, Windows Server 2016 이상 | amd64 | .zip |
- Linux
- Windows
설치 스크립트가 아키텍처(x86_64, aarch64)를 감지해 현재 경로의 dbxc 디렉토리에 설치합니다.
curl -fsSL https://repo.whatap.io/agent/dbx/cloud/install.sh | bash
cd dbxc
설치 후 dbxc 디렉토리에 config.yaml을 만들고 ./dbxc-ctl start로 실행합니다.
PowerShell에서 다음 명령을 실행합니다. 설치 경로는 C:\whatap\dbxc를 예로 들었습니다.
# 최신 패키지 다운로드
Invoke-WebRequest -Uri "https://repo.whatap.io/agent/dbx/cloud/dbxc.latest.windows-amd64.zip" -OutFile "$env:TEMP\dbxc.zip"
# 압축 해제 후 설치 경로로 복사
Expand-Archive -Path "$env:TEMP\dbxc.zip" -DestinationPath "$env:TEMP\dbxc" -Force
New-Item -ItemType Directory -Force -Path "C:\whatap\dbxc" | Out-Null
Copy-Item "$env:TEMP\dbxc\*\*.exe" "C:\whatap\dbxc\" -Force
cd C:\whatap\dbxc
.\dbxc-ctl.exe version
설치 경로에 dbxc-agent.exe와 dbxc-ctl.exe가 있으면 됩니다. 인터넷이 막힌 서버라면 다른 PC에서 zip 파일을 받아 옮긴 뒤 두 파일을 설치 경로에 복사합니다. 설치 경로에 config.yaml을 만들고 에이전트를 실행합니다.
.\dbxc-ctl.exe start -c config.yaml
.\dbxc-ctl.exe status
-
0.5.13 이상 버전을 사용하세요. 이전 버전은 Windows에서
dbxc-ctl start가 실패합니다. -
메모장으로 config.yaml을 만들 때는 파일 형식을 모든 파일로 바꿔 저장합니다. 그대로 저장하면 config.yaml.txt가 됩니다.
-
AWS EC2가 아닌 서버에서는 에이전트를 실행할 계정의
%USERPROFILE%\.aws\credentials에 AWS 자격 증명을 설정합니다. -
Windows 서비스로 등록되지 않으므로 서버를 재부팅하면
dbxc-ctl start를 다시 실행해야 합니다. -
이후 명령어 예시의
dbxc-ctl은 Windows에서.\dbxc-ctl.exe로 바꿔 실행합니다.
설정 파일 구조
DBXC는 YAML 형식의 설정 파일을 통해 실행 구성을 정의합니다.
지원 형식
DBXC는 단일/멀티 프로젝트 에이전트 지원합니다.
- YAML 형식 (.yaml, .yml)
- 단일 파일: 하나의 에이전트 실행
- 디렉토리: 다중 에이전트 실행
설정 파일 자동 탐색 순서
c옵션으로 지정된 파일/디렉토리config.yaml,config.yml(기본 파일)- 현재 디렉토리의 모든
.yaml,.yml파일
설정 파일 예시
❯ tree
.
├── configs
│ ├── project-1.yml
│ └── project-2.yml
├── dbxc-agent
├── dbxc-ctl
├── dbxc.log
├── dbxc.pid
❯ ls -al
total 68456
drwxr-xr-x 8 kyw staff 256 7 18 20:23 .
drwxr-xr-x 9 kyw staff 288 7 18 20:10 ..
drwxr-xr-x 4 kyw staff 128 7 18 20:23 configs
-rwxr-xr-x 1 kyw staff 20174450 7 18 20:09 dbxc-agent
-rwxr-xr-x 1 kyw staff 8565570 7 18 20:09 dbxc-ctl
-rw------- 1 kyw staff 5574908 7 18 20:30 dbxc.log
-rw-r--r-- 1 kyw staff 5 7 18 20:23 dbxc.pid
input:
csp: "aws" # 클라우드 서비스 제공자를 입력합니다.
namespace: "rds"
region: "ap-northeast-2"
instances: # 명시한 인스턴스는 항상 수집합니다. 클러스터 내의 인스턴스를 이 속성에 명시하면, 오토스케일 여부와 관계없이 항상 수집합니다.
- name: "mysql-rds"
slow_query: true # 슬로우 쿼리 페이지를 이용하시려면, true 로 설정해주세요.
clusters:
autoscale:
enabled: false # 오토 스케일이 활성화되면, 오토스케일된 인스턴스들을 수집 대상에서 추가하거나 삭제합니다
interval: 60 # 명시한 클러스터들의 오토스케일 체크 주기입니다. (단위: 초)
names:
- "database-cluster-name"
metrics: # 수집할 메트릭을 입력합니다.
- "CPUUtilization"
- "FreeStorageSpace"
- "FreeableMemory"
- "ReadLatency"
- "WriteLatency"
- "ReadIOPS"
- "WriteIOPS"
- "NetworkReceiveThroughput"
- "NetworkTransmitThroughput"
- "FreeLocalStorage"
logs:
enabled: false # 활성화/비활성화 할 수 있음. true/false 선택하면됨
groups: # 원하는 aws log group 을 추가하면 됨.
- "/aws/rds/cluster/database-cluster-name/error"
- "/aws/lambda/MyLambda"
output: # 수집한 메트릭 데이터를 받는 WhaTap 정보를 입력합니다.
license: "abcdefg-higjgkgjk-zxcvnbnbmc"
host: "127.0.0.1"
에이전트 실행 및 제어 명령어
에이전트 실행부터 상태 확인, 로그 조회까지 다양한 CLI 명령어을 제공합니다.
시작/종료
# 에이전트 시작
dbxc-ctl start -c project.yaml # 특정 설정 파일
dbxc-ctl start --config configs # 다중 프로젝트 (디렉토리)
dbxc-ctl start # 기본 설정 파일 자동 탐색
# 에이전트 중지
dbxc-ctl stop
# 에이전트 재시작
dbxc-ctl restart -c project.yaml
상태 확인
# 간단한 상태 확인
dbxc-ctl status
dbxc-ctl describe
로그 조회
# 실시간 로그 조회
dbxc-ctl logs -f
# 특정 프로젝트의 로그만 조회
dbxc-ctl logs -c project.yaml
# 로그 레벨별 필터링
dbxc-ctl logs --level error
# 최근 100개 로그 조회
dbxc-ctl logs --tail 100
에이전트 시작 실패 시
# 로그 확인
dbxc-ctl logs --level error
에이전트 상태 확인
# 전체 상태 확인
dbxc-ctl describe
# 특정 에이전트 로그 확인
dbxc-ctl logs -c specific-config.yaml -f
일반적인 문제 해결 방법
- 포트 충돌: 기본 포트 53200 사용 중인지 확인
- 설정 파일 오류: YAML 문법 확인
- 권한 문제: 파일 읽기 권한 확인
- PID 파일 잠금: 강제 종료 후 PID 파일 삭제
상세 기술 정보
DBXC의 세부 명령어 구성 및 내부 시스템 동작 정보입니다.
명령어 구조
dbxc-ctl은 다음 명령어를 지원합니다.
- start: DBXC 에이전트 시작
- stop: DBXC 에이전트 중지
- restart: DBXC 에이전트 재시작
- logs: 로그 조회
- status 또는 describe: 에이전트 상태 확인
- version: 버전 정보 확인
- help: 도움말 출력
HTTP API 엔드포인트
에이전트는 HTTP 엔드포인트를 제공합니다.
http://localhost:53200/health: 헬스체크http://localhost:53200/status: 상태 정보http://localhost:53200/logs: 로그 조회
로그 시스템
- 파일명: dbxc.log
- 최대 크기: 10MB(파일당)
- 최대 백업 파일 수: 7개(dbxc.log.1, dbxc.log.2, ... dbxc.log.7)
- 보관 기간: 14일
- 압축: 자동 압축 활성화(오래된 로그 파일은 .gz로 압축)
- 시간대: 로컬 시간 사용
로그 파일이 10MB가 되면 자동으로 회전하고, 최대 7개의 백업 파일을 유지하며, 14일 이상 된 로그는 자동 삭제됩니다. 디스크 공간을 절약하기 위해 오래된 로그는 압축됩니다.