Quelques astuces utiles
Monitorer une machine virtuelle
Lorsqu’on administre un système d’exploitation, il est souvent nécessaire de monitorer les ressources qui ont un impact sur son fonctionnement, en particulier le CPU, la RAM, les disques et le réseau. Heureusement, de nombreux outils existent. Certains seront installés par défaut, d’autres seront à installer depuis les dépôts de votre distribution Linux. Commençons par la commande top, qui permet de visualiser les processus, l’utilisation CPU et mémoire :
top - 22:17:31 up 44 days, 57 min, 1 user, load average: 0.43, 0.13, 0.03
Tasks: 127 total, 1 running, 83 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.4 us, 0.3 sy, 0.0 ni, 98.5 id, 0.8 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8167920 total, 4630380 free, 462076 used, 3075464 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 7473412 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 225628 9236 6616 S 0.0 0.1 15:52.29 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.48 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 1:12.65 ksoftirqd/0
8 root 20 0 0 0 0 I 0.0 0.0 4:20.50 rcu_sched
9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0.0 0.0 0:01.95 migration/0
11 root rt 0 0 0 0 S 0.0 0.0 0:07.85 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
14 root rt 0 0 0 0 S 0.0 0.0 0:08.03 watchdog/1
15 root rt 0 0 0 0 S 0.0 0.0 0:01.79 migration/1
16 root 20 0 0 0 0 S 0.0 0.0 1:39.79 ksoftirqd/1
Astuce : Vous pouvez afficher le détail de l’utilisation CPU par cœur en tapant ’1’. Il existe une version plus ”graphique”, mais toujours en ligne de commande, de cette dernière. La commande htop :
Cette commande est rarement présente par défaut sur le système et nécessite l’installation du paquet htop.
Astuce : Utilisez ’F5’ pour afficher l’arbre des threads dans htop.
Une autre commande présente par défaut permet d’avoir le détail de l’utilisation mémoire. La commande free -h :
total used free shared buff/cache available
Mem: 7.8G 450M 4.4G 70M 2.9G 7.1G
Swap: 0B 0B 0B
La commande uptime, elle aussi installée par défaut, permet d’avoir le temps écoulé depuis le dernier démarrage ainsi que la charge du système sur 1, 5 et 15 minutes :
22:31:39 up 44 days, 1:11, 1 user, load average: 0.11, 0.08, 0.07
Ensuite, on peut surveiller la bande passante réseau avec la commande ifstat -S :
ens4 docker0 br-c40b8c5cd091 br-830cedeff8f4 br-d2c212bb3097 vethf9eef05 vethf4c8dd0 vethdcae498
KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out KB/s in KB/s out
2.67 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.06 0.06 0.06 0.06
Cette commande nécessite l’installation du paquet ifstat.
Vous pouvez connaître l’espace disque utilisé avec la commande df -h présente par défaut :
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 798M 916K 797M 1% /run
/dev/sda1 58G 49G 9.7G 84% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda15 105M 3.6M 101M 4% /boot/efi
Enfin, vous pouvez surveiller les lectures et ́écritures (I/O) disque avec la commande iostat :
Linux 4.15.0-112-generic (team) 10/08/20 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.38 0.00 0.27 0.82 0.02 98.50
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
loop0 0.00 0.00 0.00 8 0
sda 2.32 4.78 38.35 18176413 145982925
Cette commande nécessite l’installation du paquet sysstat sur les systèmes basés Debian ou iostat sur les systèmes basés RHEL.
Considérations de sécurité
Le Cloud est totalement ouvert sur Internet. Sans certaines précautions, celui-ci peut devenir un atout précieux pour les attaquants par ses capacités matérielles. Voici donc quelques recommandations à suivre afin de maintenir un niveau de sécurité convenable pour vos VM.
- Restreindre l’ouverture de ports de votre VM (ex. SSH, HTTP/S, etc.) à votre machine personnelle, grâce aux groupes de sécurité.
- Si la VM est ouverte sur Internet, effectuer des mises à jour régulières (ex. tous les 7 à 15 jours) voir automatiques.
- Maintenir les images système que vous auriez créé à jour (ex. une fois par trimestre).
- Ne pas autoriser la connexion SSH par mot de passe (continuer de fonctionner par couples de clés publique/privée).
- Veiller à ne pas laisser de données personnelles (clés RSA, jeux de données, etc.) dans les images et snapshots que vous aurez créé.