Outils pour utilisateurs

Outils du site


stage:valadon:btssio:2021:guery.hugo:decouverteapi

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

stage/valadon/btssio/2021/guery.hugo/decouverteapi.txt · Dernière modification: 2022/07/05 09:10 de guery.hugo_educ-valadon-limoges.fr