インストールと使用
DBX for Cloud、DBXCは2つの主要コンポーネントで構成されています。
- dbxc-agent: クラウド指標を監視するバックグラウンドサービス(エージェント)
- dbxc-ctl: エージェントを制御するCLIツール(開始、停止、状態確認、ログ参照)
設定ファイル構造
DBXCはYAML形式の設定ファイルを通じて実行構成を定義します。
サポート形式
DBXCは単一/マルチプロジェクトエージェントをサポートします。
- YAML形式 (.yaml, .yml)
- 単一ファイル: 1つのエージェントを実行
- ディレクトリ: 複数のエージェントを実行
設定ファイル自動探索順序
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-1" # インスタンスが位置するリージョンを設定します。
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ロググループを入力します。
- "/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
Tips
一般的なトラブルシューティング
-
ポート競合: デフォルトポート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: ログ参照