Surveiller l’état d’un serveur Linux est essentiel pour éviter les interruptions ou les problèmes de performance.
Avec Python, même un débutant peut créer un script de surveillance serveur simple et efficace.

Dans ce guide, vous apprendrez comment écrire un script Python pour surveiller un serveur, quelles bibliothèques utiliser, et comment automatiser cette surveillance.


Pourquoi utiliser Python pour la surveillance serveur ?

Python est parfait pour l’automatisation et la surveillance serveur car :

  • il est simple à apprendre pour un débutant
  • possède de nombreuses bibliothèques pour récupérer l’état du système
  • fonctionne sur Linux, Windows ou macOS
  • permet de créer des alertes par email ou Slack

Un script Python de surveillance serveur peut détecter :

  • la charge CPU et la mémoire utilisée
  • l’espace disque restant
  • les services arrêtés ou inactifs
  • la disponibilité du réseau

Installer Python et les bibliothèques nécessaires

Vérifier Python sur Linux

python3 --version

Si Python n’est pas installé :

sudo apt update
sudo apt install python3 python3-pip

Installer les bibliothèques utiles

Pour créer un script Python de surveillance serveur, installez :

pip3 install psutil smtplib requests
  • psutil : récupérer CPU, RAM, disque et processus
  • smtplib : envoyer des emails d’alerte
  • requests : vérifier la disponibilité d’un site ou service

Exemple de script Python pour surveillance serveur (débutant)

1. Vérifier la charge CPU et mémoire

import psutil

cpu = psutil.cpu_percent(interval=1)
ram = psutil.virtual_memory().percent

print(f"Utilisation CPU : {cpu}%")
print(f"Utilisation RAM : {ram}%")

Ce script affiche l’état actuel de votre serveur.
Idéal pour commencer la surveillance serveur avec Python.


2. Surveiller l’espace disque

disk = psutil.disk_usage('/')

print(f"Disque utilisé : {disk.percent}%")
if disk.percent > 80:
    print("Alerte : espace disque critique !")

Vous pouvez ajouter un email automatique si l’espace disque est trop faible.


3. Vérifier si un service est actif

service = "ssh"
service_active = any(proc.name() == service for proc in psutil.process_iter())

if service_active:
    print(f"{service} est actif")
else:
    print(f"{service} est arrêté !")

Pratique pour vérifier les services essentiels comme SSH, Apache ou Nginx.


4. Envoyer une alerte par email

import smtplib

def send_alert(message):
    serveur = smtplib.SMTP('smtp.gmail.com', 587)
    serveur.starttls()
    serveur.login("votre_email@gmail.com", "mot_de_passe")
    serveur.sendmail("votre_email@gmail.com", "destinataire@example.com", message)
    serveur.quit()

send_alert("Alerte serveur : utilisation CPU élevée")

⚠️ Pour Gmail, il faut un mot de passe spécifique pour application ou activer les applications moins sécurisées.


Automatiser le script de surveillance serveur

Pour que votre script Python surveille le serveur automatiquement :

1. Planifier avec cron sur Linux

crontab -e

Ajouter par exemple pour exécuter toutes les 10 minutes :

*/10 * * * * /usr/bin/python3 /chemin/vers/surveillance.py

2. Utiliser un service systemd

Vous pouvez créer un service systemd pour exécuter le script en permanence et redémarrer automatiquement si nécessaire.


Conseils pratiques pour débutant

  • Tester votre script avant de l’automatiser
  • Ajouter des logs pour conserver l’historique des alertes
  • Limiter la fréquence des vérifications pour éviter de surcharger le serveur
  • Commencer avec psutil et ajouter des fonctionnalités progressivement

Pourquoi un script Python est idéal pour débutant

  • Syntaxe simple et lisible
  • Bibliothèques puissantes pour serveur Linux
  • Permet d’automatiser des tâches critiques sans logiciel complexe
  • Facile à adapter à vos besoins (CPU, RAM, disque, services, réseau)

Même un débutant peut créer un script Python de surveillance serveur fonctionnel en quelques heures.


FAQ – Python script surveillance serveur

1. Est-ce que ce script fonctionne sur tous les serveurs Linux ?

Oui, tant que Python 3 et les bibliothèques nécessaires sont installés.

2. Puis-je recevoir des alertes par email ou Slack ?

Oui, Python permet d’envoyer des emails avec smtplib ou d’utiliser des webhooks pour Slack.

3. Ce script peut-il surveiller plusieurs serveurs à la fois ?

Oui, en adaptant le script pour se connecter à distance via SSH ou en utilisant des bibliothèques comme paramiko.

Catégorie:

Python,

Modification: 6 février 2026