Awanio 管理者 CLI(awadm)ユーザーガイド

このガイドでは、Awanio クラスターを管理するための管理者向け CLI である awadm のインストール、設定、使い方を説明します(Awanio ダッシュボードの代替インターフェース)。

対応 OS: macOS / Linux。以下のコマンドは POSIX シェル(bash / zsh)を前提としています。

1. インストール

ビルド済みバイナリ(Linux amd64 の例):

curl -O https://storage.awan.io/assets/awadm-linux-amd64.tar.gz
tar -xvf awadm-linux-amd64.tar.gz
chmod +x ./awadm
sudo mv ./awadm /usr/local/bin/
awadm --version

2. 設定

awadm は awanconfig ファイルから認証情報を読み込みます。デフォルトは次のとおりです。

  • デフォルトパス: ~/.awan/config
  • 上書き: —awanconfig /path/to/config

設定方法は 2 つあります。

A) ログインフロー(推奨)

  • ダッシュボードのユーザー名/パスワードを API クレデンシャルに交換し、awanconfig を書き込みます。

例:

awadm config clusters login \
  --name dev3 \
  --username awanio \
  --url https://0.0.0.0/v2
# Prompts for password if --password is omitted

B) 手動設定 ~/.awan/config を YAML で作成します。

apiVersion: v1
clusters:
  dev-cluster:
    server: https://0.0.0.0/v2
    access-key: sa-xxxxxx
    access-secret: yyyyyy
  demo-cluster:
    server: https://192.168.1.10/v2
    access-key: sa-aaaaaa
    access-secret: bbbbbb
contexts:
  current-context: dev-cluster

便利な設定コマンド:

  • 現在のコンテキスト表示: awadm config context
  • 現在のコンテキスト設定: awadm config context set <cluster-name>
  • クラスター一覧: awadm config clusters
  • 設定からクラスター削除: awadm config clusters delete <cluster-name>
  • 設定ファイルのパスと内容を表示: awadm config info

注: ログインフローでは、サービスアカウントを自動作成するために、ユーザーが “root” 組織のメンバーである必要があります。

3. awadm コマンドリファレンス

グローバルフラグ:

  • —awanconfig string 設定ファイルのパス(デフォルト: ~/.awan/config)
  • -o, —output string 一部のコマンドは出力形式を指定できます(table または json)

3.1 仮想マシン

  • VM 一覧:
awadm vm --size-per-page 100 --sort-by id --order desc --page 1 [--search <kw>]

列: uuid, Title, Status, Organization, CPU, Ram

  • UUID で VM 詳細:
awadm vm get <vuid> [-o json]
  • VM メトリクス(直近 60 分、10 分間隔):
awadm vm metric <vuid> --since-x-minute-ago 60 --minute-step 10
  • VM メトリクスを CSV にエクスポート:
awadm vm metric <vuid> --since-x-minute-ago 120 --minute-step 10 --export-path vm_metrics.csv --export-format csv
  • JSON 出力:
awadm vm metric <vuid> --since-x-minute-ago 60 --minute-step 10 -o json
  • SNMP 風 OID 出力:
awadm vm metric <vuid> --since-x-minute-ago 60 --minute-step 10 --output snmp --snmp-base-oid .1.3.6.1.4.1.99999.1

3.2 ボリューム

  • ボリューム一覧:
awadm volume

列: uuid, Title, Size, Backend Storage

  • UUID でボリューム詳細:
awadm volume get <uuid> [-o json]

3.3 ノード

  • ノード一覧:
awadm nodes

列: name, status, internal_ip, network, mem_ok, disk_ok, pid_ok

ページネーションフラグ:

  • -p, —page string ページ番号(デフォルト: 1)
  • -s, —size-per-page string 一覧出力の最大件数(デフォルト: 15)

ページネーション例:

awadm nodes -p 2 -s 20
  • ノードメトリクス(CPU/メモリ使用率):
awadm nodes metric <node-name> --since-x-minute-ago 60 --minute-step 10

フラグ:

  • —since-x-minute-ago int 現在から遡る分数(start/end と排他)
  • —start string 開始時刻(レイアウト ‘2006-01-02 15:04:05’)
  • —end string 終了時刻(レイアウト ‘2006-01-02 15:04:05’)
  • —minute-step int 集計の分刻み
  • -o, —output string 出力形式: table / json / snmp(デフォルト: table)
  • —snmp-base-oid string SNMP 出力モードのベース OID(デフォルト: .1.3.6.1.4.1.99999.2)
  • —export-path string メトリクス時系列のエクスポート先(任意)
  • —export-format string エクスポート形式: csv / spreadsheet(デフォルト: csv)

例:

# Table (default)
awadm nodes metric awid5

# JSON output
awadm nodes metric awid5 -o json

# SNMP-style OID output
awadm nodes metric awid5 -o snmp --snmp-base-oid .1.3.6.1.4.1.99999.2

# Export time-series to CSV
awadm nodes metric awid5 --export-path ./node_metrics_awid5.csv

# Specific time range
awadm nodes metric awid5 --start "2025-08-10 12:00:00" --end "2025-08-10 14:00:00" --minute-step 5

補足:

  • ノードメトリクス API のレスポンス JSON 構造は VM メトリクスと異なりますが、CLI 側で内部的に正規化し、出力/エクスポートが一貫するようにしています。

  • Fibre Channel WWID 一覧:

awadm nodes storages fibre-channel

列: wwid, wwn, size

3.4 サービスアカウント

  • サービスアカウント一覧:
awadm service-accounts

列: uuid, AccesKey, Status

  • サービスアカウント作成:
awadm service-accounts create --name <name> --org-uid <organization-uuid>

フラグ:

  • —name(必須): 6〜20 文字。英字、数字、ダッシュ(-)、アンダースコア(_)、ドット(.)

  • —org-uid(必須): 組織 UUID

  • UUID 指定でサービスアカウント削除(複数指定可):

awadm service-accounts delete <uuid> [<uuid> ...]

3.5 ライセンス

  • 適用済みライセンス一覧:
awadm license

列: license key, cluster id, features, maximum cpu socket, expired date

  • 新しいライセンスキー追加:
awadm license add <license-key>

4. 例

  • クイックスタート: ログインして VM 一覧
awadm config clusters login --name dev --username admin --url https://0.0.0.0/v2
awadm vm --search web
awadm vm get 00000000-0000-0000-0000-000000000000
  • コンテキスト切り替えとボリューム一覧
awadm config context set demo-cluster
awadm volume
  • ログインフロー経由でサービスアカウントを作成し、作成/一覧を確認
awadm config clusters login --name demo --username admin --url https://192.168.1.10/v2
awadm service-accounts create --name sa-demo --org-uid 00000000-0000-0000-0000-000000000000
awadm service-accounts

5. 出力とフォーマット

  • 一覧/詳細のデフォルト出力は Table です。
  • 一部の詳細コマンドでは -o json で JSON 出力を指定できます。

6. トラブルシューティング

  • Unauthorized または無効なアクセス:

    • 選択中コンテキストに対して、awanconfig に有効な access-key / access-secret があることを確認してください。
    • server URL が正しく到達可能であることを確認してください。
  • TLS / 証明書:

    • 自己署名証明書を利用している場合、サーバー証明書が OS から信頼されていることを確認してください。一部の呼び出しではクライアント側が TLS 検証をスキップする場合もありますが、安全な設定が推奨されます。
  • ログインフローに失敗する:

    • ダッシュボードの認証情報が正しいことを確認してください。
    • サービスアカウント作成のため、ユーザーは “root” 組織に所属している必要があります。
  • テーブル出力でフィールドが空/欠落する:

    • CLI は欠落フィールド(例: Status、Organization、Backend Storage)に対して - を表示します。

7. セキュリティ上の注意

  • awanconfig には API クレデンシャルが含まれるため、保管/共有には注意してください。
  • サービスアカウントは最小権限(least privilege)を推奨します。

8. バージョンとヘルプ

  • バージョン表示:
    • awadm --version
  • ヘルプ表示:
    • awadm --help または awadm <command> --help