설치 및 사용
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"