Panduan Pengguna awadm

Panduan ini menjelaskan cara instalasi, konfigurasi, dan penggunaan awadm — CLI untuk administrator dalam mengelola klaster Awanio (alternatif dari Awanio Dashboard).

Sistem operasi didukung: macOS/Linux. Perintah di bawah ini menggunakan shell POSIX (bash/zsh).

1. Instalasi

Paket biner siap pakai (contoh untuk 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. Konfigurasi

awadm membaca kredensial dari berkas awanconfig. Default:

  • Lokasi: ~/.awan/config
  • Override dengan: —awanconfig /path/ke/config

Dua cara konfigurasi:

A) Login (disarankan)

  • Menukar username/password dashboard menjadi kredensial API dan menulis ke awanconfig.

Contoh:

awadm config clusters login \
  --name dev3 \
  --username awanio \
  --url https://0.0.0.0/v2
# Akan meminta password jika --password tidak diberikan

B) Manual Buat berkas ~/.awan/config dengan isi 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

Perintah konfigurasi yang berguna:

  • Tampilkan konteks aktif: awadm config context
  • Ubah konteks aktif: awadm config context set <nama-cluster>
  • Daftar cluster: awadm config clusters
  • Hapus cluster dari config: awadm config clusters delete <nama-cluster>
  • Tampilkan lokasi dan isi config: awadm config info

Catatan: Alur login memerlukan pengguna menjadi anggota organisasi “root” untuk dapat membuat service account secara otomatis.

3. Referensi Perintah awadm

Flag global:

  • —awanconfig string Lokasi berkas config (default: ~/.awan/config)
  • -o, —output string Beberapa perintah mendukung format keluaran (table atau json)

3.1 Virtual Machine (VM)

  • Daftar VM:
awadm vm --size-per-page 100 --sort-by id --order desc --page 1 [--search <ckata-kunci>]

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

  • Detail VM berdasarkan UUID:
awadm vm get <cuuid> [-o json]
  • Metrik VM (60 menit terakhir, interval 10 menit):
awadm vm metric <vuid> --since-x-minute-ago 60 --minute-step 10
  • Ekspor metrik VM ke CSV:
awadm vm metric <vuid> --since-x-minute-ago 120 --minute-step 10 --export-path vm_metrics.csv --export-format csv
  • Keluaran JSON:
awadm vm metric <vuid> --since-x-minute-ago 60 --minute-step 10 -o json
  • Keluaran OID gaya SNMP:
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 Volume

  • Daftar volume:
awadm volume

Kolom: uuid, Title, Size, Backend Storage

  • Detail volume berdasarkan UUID:
awadm volume get <uuid> [-o json]

3.3 Node

  • Daftar node:
awadm nodes

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

Flag paginasi:

  • -p, —page string Halaman saat ini dalam pagination (default: 1)
  • -s, —size-per-page string Jumlah item maksimum per halaman (default: 15)

Contoh dengan paginasi:

awadm nodes -p 2 -s 20
  • Metrik node (utilisasi CPU dan Memori):
awadm nodes metric <nama-node> --since-x-minute-ago 60 --minute-step 10

Flag:

  • —since-x-minute-ago int Jumlah menit ke belakang dari sekarang untuk awal rentang (tidak boleh dipakai bersamaan dengan start/end)
  • —start string Waktu mulai format ‘2006-01-02 15:04:05’
  • —end string Waktu selesai format ‘2006-01-02 15:04:05’
  • —minute-step int Interval agregasi dalam menit
  • -o, —output string Format keluaran: table, json atau snmp (default: table)
  • —snmp-base-oid string Base OID untuk mode keluaran SNMP (default .1.3.6.1.4.1.99999.2)
  • —export-path string Lokasi file untuk ekspor deret waktu (opsional)
  • —export-format string Format ekspor: csv atau spreadsheet (default csv)

Contoh:

# Tabel (default)
awadm nodes metric awid5

# Keluaran JSON
awadm nodes metric awid5 -o json

# Keluaran OID gaya SNMP
awadm nodes metric awid5 -o snmp --snmp-base-oid .1.3.6.1.4.1.99999.2

# Ekspor deret waktu ke CSV
awadm nodes metric awid5 --export-path ./node_metrics_awid5.csv

# Rentang waktu spesifik
awadm nodes metric awid5 --start "2025-08-10 12:00:00" --end "2025-08-10 14:00:00" --minute-step 5

Catatan:

  • Respon JSON metrik node berbeda dengan VM; CLI melakukan normalisasi internal agar output dan ekspor konsisten.

  • WWID Fibre Channel:

awadm nodes storages fibre-channel

Kolom: wwid, wwn, size

3.4 Service Account

  • Daftar service account:
awadm service-accounts

Kolom: uuid, AccesKey, Status

  • Buat service account:
awadm service-accounts create --name <nama> --org-uid <uuid-organisasi>

Flag:

  • —name (wajib): 6–20 karakter; huruf, angka, tanda minus (-), underscore (_), titik (.)

  • —org-uid (wajib): UUID organisasi

  • Hapus service account berdasarkan UUID (bisa banyak):

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

3.5 Lisensi

  • Daftar lisensi yang terpasang:
awadm license

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

  • Tambah lisensi baru:
awadm license add <license-key>

4. Contoh

  • Mulai cepat: login dan lihat daftar 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
  • Ganti konteks lalu daftar volume
awadm config context set demo-cluster
awadm volume
  • Buat service account melalui alur login, lalu buat dan daftar SA
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. Output dan Format

  • Tabel adalah default untuk daftar dan detail.
  • JSON tersedia untuk beberapa perintah detail melalui -o json.

6. Pemecahan Masalah

  • Unauthorized atau akses tidak valid:

    • Pastikan awanconfig berisi access-key dan access-secret yang valid untuk konteks terpilih.
    • Verifikasi URL server benar dan dapat diakses.
  • TLS/Sertifikat:

    • Jika memakai sertifikat self-signed, pastikan sertifikat tepercaya pada OS Anda. Konfigurasi aman sangat disarankan.
  • Gagal login:

    • Pastikan kredensial dashboard benar.
    • Pengguna harus menjadi anggota organisasi “root” untuk membuat service account.
  • Field kosong pada tabel:

    • CLI mengantisipasi field yang hilang (mis. Status, Organization, Backend Storage) dan menampilkan - bila tidak tersedia.

7. Catatan Keamanan

  • Simpan dan bagikan awanconfig dengan hati-hati; berisi kredensial API.
  • Gunakan prinsip least-privilege untuk service account.

8. Versi dan Bantuan

  • Tampilkan versi:
    • awadm --version
  • Bantuan perintah:
    • awadm --help atau awadm <command> --help