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)
- 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
- Daftar volume:
awadm volume
Kolom: uuid, Title, Size, Backend Storage
- Detail volume berdasarkan UUID:
awadm volume get <uuid> [-o json]
- 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
- 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> ...]
- 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.
- CLI mengantisipasi field yang hilang (mis. Status, Organization, Backend Storage) dan menampilkan
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
atauawadm <command> --help