Table des matières
Découverte de l'API Proxmox
On utilisera curl afin de récupérer un jeton d'authentification pour l'API. On utilisera également jq afin de rendre la lecture de données plus simple.
Installation des 2 extensions
apt install curl jq
Obtention du jeton d'identification
La commande suivante permettra d'obtenir le jeton permettant la connexion à promox, celui-ci sera ensuite stocké dans un fichier nommé “TICKET”.
curl -k -d "username=guery.hugo@Valadon&password=*****" \ https://10.187.36.12:8006/api2/json/access/ticket | jq --raw-output '.data.ticket' > TICKET
Obtention des informations sur les VMs
Pour les obtenir on s'aidera donc tu jeton obtenu précédemment et on stockera les données dans un fichier nommé “confVM”.
curl https://10.187.36.12:8006/api2/json/nodes/siohyp2/lxc \ -k -b "PVEAuthCookie=$(<TICKET)" | jq --raw-output '.' > confVM
Exemple de ce qui peut être marqué dans le fichier confVM
{ "data": [ { "netin": 9003, "diskwrite": 1257472, "swap": 4096, "type": "lxc", "status": "running", "name": "guerydebian", "uptime": 52, "maxdisk": "8388009984", "netout": 4500, "vmid": "119", "mem": 97411072, "lock": "", "pid": "29103", "template": "", "disk": "1157406720", "diskread": 123867136, "maxswap": 536870912, "maxmem": 536870912, "cpu": 0.00291066381789496, "cpus": 1 } ] }
On remarque qu'il y a beaucoup de données comme l'utilisation de la mémoire, le stockage restant sur le disque dur, etc. Mais il y a certaines données dont on pourrait se passer c'est pour cela qu'on va donc trier les données qu'on souhaitent faire apparaître avec l'aide de jq.
On écrira donc la commande :
curl https://10.187.36.12:8006/api2/json/nodes/siohyp2/lxc -k -b "PVEAuthCookie=$(<TICKET)" | jq --raw-output \ '.data[].name,.data[].vmid,.data[].status,.data[].uptime,.data[].cpus,.data[].cpu, \ .data[].mem,.data[].maxmem,.data[].disk,.data[].maxdisk' > confVM
Explication des choix :
On affiche d'abord le nom et le vmid afin de savoir de quelle VM il s'agit, on affiche ensuite si celle-ci est allumé ou pas et si la VM et allumé depuis combien de temps elle l'est. Et pour finir on va afficher le nombre de CPU et son utilisation en pourcentage puis la mémoire utilisé et la mémoire max alloué à la VM et enfin on affichera la capacité de stockage utilisé suivi de la capacité totale pouvant être utilisée.
On obtient donc dans le fichier confVM (pour 1 VM) :
guerydebian 119 running 703 1 0.00129498748037938 97390592 536870912 1157402624 8388009984