Sysadmins Linux : 10 outils pour vous faciliter la vie
I. Présentation
Après vous avoir présenté les 7 indispensables de l'administrateur réseaux, je vais maintenant vous présenter les 10 outils que je juge indispensables et que tout administrateur système travaillant sous Linux devrait au moins trouver utile ! Linux est une distribution où il existe des commandes pour absolument tout faire, nous allons ici nous intéresser aux commandes qui vont nous permettre de débugger, configurer ou monitorer le système et qui peuvent nous servir lors des interventions habituelles.
II. Les outils
Voici donc ma petite liste des outils :
Top
Commande de monitoring direct rapide et simple présente par défaut sur les système UNIX, cette commande permet d'afficher rapidement et de façon condensée les principaux processus en cours, l'état de la consommation de la SWAP, RAM et du processeur ainsi que la charge moyenne de la machine sur 5, 10 et 15 minutes. Une commande très utile lorsque l'on cherche à établir rapidement la charge d'une machine, le tout de façon dynamique. Voici un exemple de sortie obtenue via la commande top :
Ps
"ps" est une commande très pratique qui permet le visionnement des processus en cours. PS effectue une capture à l'instant T du moment de lancement de la commande. Cela signifie qu'il affiche les informations de façon non dynamique. Cette commande, simple d'utilisation, peut néanmoins prendre beaucoup de paramètres qui permet d'affiner les recherches ainsi que les informations affichées. Par exemple :
Voir les processus en cours :
ps -ef
- "e" permet de voir la liste de tous les processus
- "f" permet d'avoir toutes les informations lors de l'affichage
Rechercher une processus et ses processus fils via leur PID / PPID :
ps -f --ppid [PID_NUM]
Chercher tous les processus lancés par une utilisateur donné :
ps -f -u nom_utilisateur
Monit
La supervision est un élément essentiel pour le bon fonctionnement d'un ensemble de système. Lorsque l'on souhaite superviser seulement un hôte, il existe l'outil Monit qui permet d'effectuer des tâches de vérification et d'alertes assez précises. On dit de Monit qu'il est un outil de surveillance de services locaux car il reste dans un cadre local et ne permet pas d'effectuer d'opération sur des hôtes distants.
Nous avons déjà rédigé un ensemble de tutoriel sur la configuration et l'utilisation de Monit que je vous invite à lire si vous êtes intéressés par cet outil : Configuration et utilisation de monit
uptime
Le serveur a-t-il survécu à la nuit ? Une question qu'il est parfois légitime de se poser et qui peut trouver réponse très facilement via la commande "uptime" qui nous retourne le temps depuis lequel le serveur est démarré. La commande permet également d'afficher la charge moyenne du serveur sur 1, 5 et 15 minutes.
Tcpdump
TCPDump, au même titre que Wireshark est un sniffeur réseau qui va vous permettre de voir en détail ce qui rentre et sort sur la ou les cartes réseaux de votre serveur. Il est souvent extrêmement utile lors de la maintenance et du dépannage de savoir ce qui transite sur votre serveur car cela permet bien souvent de mieux comprendre les causes d'un dysfonctionnement. Cet outil n'est pas disponible par défaut et peut être installé via la commande suivante, sous Debian :
apt-get install tcpdump
sous CentOS :
yum install tcpdump
cron
Cron, dont le nom est dérivé du dieu du temps Chronos, est un outil qui va vous donner la possibilité d'exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiée à l'avance, ou selon un cycle défini à l'avance. Ces planifications peuvent être ponctuelles (un jour précis) ou régulières (ex : tous les mardis à 9h30). C'est un outil très pratique car il vient en aide aux procédures de maintenance régulière qui sont souvent fastidieuses ou alors ils permettent de faire le travail à votre place lorsque vous ne pouvez vous présenter devant la machine à une date précise. Nous avons déjà rédigé un tutoriel faisant le tour de l'utilitée de crontab, le service par défaut sous Linux qui permet de configurer cron
vmstat
Cette commande affiche dans un retour clair et simple des information sur les processus, la mémoire, les entrées sorties et l'activité du CPU. C'est également très utile lorsque l'on cherche à savoir rapidement l'état de notre machine et sa charge globale :
Man
man est une des commandes les plus utilisées sous Linux, celle-ci permet en effet de voir le manuel de chaque outil présent sur le système et permet ainsi de savoir comment les utiliser. On trouve bien souvent les réponses aux fonctionnalités que l'on cherche dans le man de l’outil en question où sont expliqués en détail chaque option et chaque utilisation de la commande. Par exemple pour retrouver les commande installées relatives au ftp, saisissez :
man -k ftp
auditd
Auditd est un outil qui va vous permettre d'implémenter un peu de sécurité sur vos systèmes. Comme nous l'avons déjà exposé sur ce site, auditd permet la mise en place de surveillance de fichier permettant d'émettre une alerte si un fichier est consulté et ainsi de retrouver les différents accès faits sur le ou les fichiers surveillés. C'est un outil assez intéressant et plutôt simple d'utilisation pour l'aide qu'il peut vous apporter.
Lsof
Lsof ou "list open file" est une commande qui va vous permettre, comme le fait top avec les processus, de lister tous les fichiers ouverts à l'instant du lancement de la commande. Cela est d'une grande aide lorsque l'on cherche à savoir les actions d'un programme par exemple ou savoir par qui un fichier est occupé lorsque ceux-ci ne peuvent être accédés par exemple.
Bonjour,
Bientôt à la retraite pour raison de santé, consultant indépendant, je désire reprendre des contacts dans le milieu linux pour échange de bons procédés. J’ai été un peu trop en dehors ces dernières années mais maintenant j’ai tout le temps de me replonger.
Cdtlt
BK.
Htop est sympa aussi, c’est l’équivalent de top en plus poussé
iftop est bien aussi pour voir l’utilisation du réseau