설치 및 사용
DBX for Cloud, DBXC는 두 가지 주요 컴포넌트로 구성됩니다.
- dbxc-agent: 클라우드 지표를 모니터링하는 백그라운드 서비스 (에이전트)
- dbxc-ctl: 에이전트를 제어하는 CLI 도구 (시작, 중지, 상태 확인, 로그 조회)
설정 파일 구조
DBXC는 YAML 형식의 설정 파일을 통해 실행 구성을 정의합니다.
지원 형식
DBXC는 단일/멀티 프로젝트 에이전트 지원합니다.
- YAML 형식 (.yaml, .yml)
- 단일 파일: 하나의 에이전트 실행
- 디렉토리: 다중 에이전트 실행
설정 파일 자동 탐색 순서
c옵션으로 지정된 파일/디렉토리config.yaml,config.yml(기본 파일)- 현재 디렉토리의 모든
.yaml,.yml파일
설정 파일 예시
디렉토리 tree 예시
❯ 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
yml 예시
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