Aller au contenu principal

Monitoring serveur

Monitoring de votre VPS Linux RedHeberg

Le monitoring de votre VPS est essentiel pour maintenir des performances optimales et anticiper les problèmes. Ce guide vous présente les outils de surveillance intégrés à Linux ainsi que des solutions web modernes disponibles chez RedHeberg.

Commandes de monitoring de base

Surveillance des ressources système

Surveillez l'utilisation du CPU et de la RAM en temps réel :

# Monitoring interactif des processus
htop

# Affichage mémoire détaillé
free -h

# Utilisation des disques
df -h

# Informations système complètes
top

Analyse des performances disque

Surveillez les performances I/O de vos SSD NVMe Samsung 990 EVO Plus :

# Installer les outils de monitoring I/O
sudo apt update && sudo apt install -y sysstat iotop

# Statistiques I/O en temps réel
iostat -x 1

# Top des processus utilisant le disque
sudo iotop

# Historique des performances disque
sar -d 1 5

Monitoring réseau

Surveillez les connexions sur votre VPS RedHeberg :

# Connexions actives
netstat -tuln

# Statistiques réseau détaillées
ss -tuln

# Surveillance du trafic réseau
sudo apt install -y vnstat
vnstat -l

# Monitoring réseau en temps réel
sudo netstat -i 1

Installation de Netdata

Netdata offre un monitoring web temps réel puissant et léger :

# Installation rapide de Netdata
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel

# Démarrage et activation automatique
sudo systemctl enable netdata
sudo systemctl start netdata

# Vérification du statut
sudo systemctl status netdata

Configuration de Netdata

Personnalisez la configuration :

# Éditer la configuration principale
sudo nano /etc/netdata/netdata.conf

# Configuration recommandée pour VPS RedHeberg
[global]
hostname = mon-vps-redheberg
history = 3600
update every = 1
memory mode = ram

[web]
web files owner = root
web files group = netdata
bind to = 0.0.0.0:19999

Redémarrez Netdata après modification :

sudo systemctl restart netdata
info

Netdata sera accessible via http://YOUR_SERVER_IP:19999. Pensez à configurer votre pare-feu si nécessaire.

Configuration d'Uptime Kuma

Uptime Kuma est disponible en pré-installation 1-clic chez RedHeberg. Pour une installation manuelle :

# Installation de Node.js et npm
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Installation d'Uptime Kuma
sudo npm install pm2 -g
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Démarrage avec PM2
pm2 start server/server.js --name uptime-kuma
pm2 save
pm2 startup

Configuration des notifications

Configurez les alertes Discord et email dans l'interface web d'Uptime Kuma (http://YOUR_SERVER_IP:3001) :

  1. Notifications Discord :

    • Webhook URL de votre serveur Discord
    • Mentionnez le channel #monitoring
  2. Notifications Email :

    • Serveur SMTP de votre choix
    • Configuration TLS recommandée

Monitoring des services systemd

Surveillez l'état de vos services système :

# État global des services
systemctl status

# Services en échec
systemctl --failed

# Monitoring d'un service spécifique
systemctl status nginx

# Logs en temps réel
journalctl -f -u nginx

# Surveillance automatique avec notification
sudo nano /usr/local/bin/check-services.sh

Script de surveillance automatique :

#!/bin/bash
# Script de monitoring des services critiques

SERVICES=("nginx" "mysql" "redis" "ssh")
EMAIL="admin@votre-domaine.fr"

for service in "${SERVICES[@]}"; do
if ! systemctl is-active --quiet $service; then
echo "ALERTE: Le service $service est inactif sur $(hostname)" | \
mail -s "Service $service DOWN" $EMAIL

# Tentative de redémarrage
systemctl restart $service
fi
done

Automatisation avec cron :

# Rendre le script exécutable
sudo chmod +x /usr/local/bin/check-services.sh

# Ajouter à la crontab (vérification toutes les 5 minutes)
echo "*/5 * * * * /usr/local/bin/check-services.sh" | sudo crontab -

Alertes et tableaux de bord

Configuration des seuils d'alerte

Définissez des seuils critiques pour votre VPS :

MétriqueSeuil WarningSeuil Critical
CPU70%85%
RAM80%90%
Disque85%95%
Load Average2.04.0

Script de monitoring personnalisé

#!/bin/bash
# Script de monitoring avancé RedHeberg

WEBHOOK_DISCORD="votre_webhook_discord"
HOSTNAME=$(hostname)

# Fonction d'envoi Discord
send_discord() {
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\":\"🚨 **$HOSTNAME** : $1\"}" \
$WEBHOOK_DISCORD
}

# Vérification CPU
CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | sed 's/%us,//')
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
send_discord "CPU élevé: ${CPU_USAGE}%"
fi

# Vérification RAM
RAM_USAGE=$(free | grep Mem | awk '{printf "%.0f", $3/$2 * 100.0}')
if [ $RAM_USAGE -gt 85 ]; then
send_discord "RAM élevée: ${RAM_USAGE}%"
fi
astuce

Avec l'infrastructure RedHeberg (SSD NVMe, 10 Gbps, processeurs Ryzen/Xeon dernière génération), un monitoring proactif vous permettra de tirer le meilleur parti de vos ressources haute performance.

attention

N'exposez jamais vos interfaces de monitoring (Netdata, Uptime Kuma) sans authentification sur Internet. Utilisez un VPN ou une authentification HTTP basique.