Ajouter la journalisation au moniteur système

LinuxBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous allez perfectionner le script de surveillance du système Linux fourni en lui ajoutant une fonction de journalisation. L'objectif est d'enregistrer l'utilisation des ressources (processeur, mémoire et disque) dans un fichier journal après chaque cycle de surveillance. Cette tâche mettra à l'épreuve votre capacité à modifier et à étendre un script shell pour y inclure une sortie vers un fichier.

Le script de base vous est fourni. Il vous incombe d'y intégrer la fonctionnalité de journalisation.

Ajouter la journalisation au moniteur système

Tâches

  • Modifiez le script /home/labex/project/system_monitor.sh pour ajouter l'utilisation des ressources (processeur, mémoire et disque) à la fin d'un fichier journal nommé resource_usage.log situé dans le même répertoire. Chaque entrée doit inclure la date et l'heure actuelles.

Exigences

  • Le fichier journal doit impérativement s'appeler resource_usage.log et se trouver dans /home/labex/project.
  • Chaque entrée du journal doit comporter la date, l'heure et les pourcentages d'utilisation des ressources pour le processeur (CPU), la mémoire et le disque.
  • La journalisation doit être effectuée après le calcul des valeurs d'utilisation des ressources lors de chaque cycle de surveillance.

Conseils

  1. Utilisez la commande date pour obtenir la date et l'heure actuelles, par exemple avec date '+%Y-%m-%d %H:%M:%S'. Consultez la page man date pour apprendre à formater la sortie.
  2. N'oubliez pas d'utiliser l'opérateur >> pour ajouter du contenu à la fin d'un fichier. Évitez d'écraser le fichier à chaque itération.
  3. Regroupez les valeurs d'utilisation des ressources dans une seule chaîne de caractères avant de les ajouter au fichier journal. Utilisez des variables et l'interpolation de chaînes à cette fin.
  4. Assurez-vous que le fichier journal est écrit dans le même répertoire que le script, en utilisant un chemin absolu ou relatif tel que /home/labex/project/resource_usage.log.

Exemples

Une fois la tâche terminée, l'exécution de /home/labex/project/system_monitor.sh pendant quelques secondes devrait générer un fichier resource_usage.log contenant des entrées similaires à celles-ci :

cat /home/labex/project/resource_usage.log
2024-12-04 14:00:01 CPU: 15% Memory: 45% Disk: 62%
2024-12-04 14:00:03 CPU: 18% Memory: 46% Disk: 62%
2024-12-04 14:00:05 CPU: 20% Memory: 47% Disk: 62%

Pour quitter le script proprement, vous pouvez appuyer sur Ctrl+C afin d'envoyer un signal d'interruption.

Exemple de journal du moniteur système

Résumé

Dans ce défi, vous avez ajouté une fonctionnalité de journalisation au script de surveillance du système Linux. Cette fonction enregistre l'utilisation des ressources dans un fichier journal, permettant ainsi aux utilisateurs de suivre la consommation des ressources au fil du temps. Cette tâche a permis de renforcer votre compréhension des opérations sur les fichiers et des commandes de date dans les scripts Bash.

✨ Vérifier la solution et pratiquer