Compare commits
2 Commits
cdb97c73cc
...
c32f1daf75
| Author | SHA1 | Date | |
|---|---|---|---|
| c32f1daf75 | |||
| da09ac895a |
@@ -90,4 +90,6 @@ systemctl restart fail2ban
|
|||||||
# --- 9. RAPPORT FINAL ---
|
# --- 9. RAPPORT FINAL ---
|
||||||
echo "Déploiement terminé de ${0} sur ${HOSTNAME}" | mail -s "Setup OK" "$DEST_EMAIL"
|
echo "Déploiement terminé de ${0} sur ${HOSTNAME}" | mail -s "Setup OK" "$DEST_EMAIL"
|
||||||
|
|
||||||
echo "✅ Terminé ! Teste avec : echo 'test' | mail -s 'Sujet simple' root"
|
echo "✅ Terminé ! Teste avec : echo 'test' | mail -s 'Sujet simple' root"
|
||||||
|
|
||||||
|
rm ${0}
|
||||||
|
|||||||
62
servers/linux/sys_check.sh
Normal file
62
servers/linux/sys_check.sh
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# --- CONFIGURATION ---
|
||||||
|
THRESHOLD=90
|
||||||
|
LOAD_THRESHOLD=5.0
|
||||||
|
HOST=$(hostname)
|
||||||
|
|
||||||
|
# On envoie à 'root', le système fera la redirection grâce aux aliases
|
||||||
|
DEST="root"
|
||||||
|
|
||||||
|
REPORT=""
|
||||||
|
ALERT=false
|
||||||
|
|
||||||
|
# 1. CHECK DISQUE & INODES
|
||||||
|
DISK_USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')
|
||||||
|
INODE_USAGE=$(df -i / | awk 'NR==2 {print $5}' | sed 's/%//')
|
||||||
|
|
||||||
|
if [ "$DISK_USAGE" -gt "$THRESHOLD" ]; then
|
||||||
|
REPORT="${REPORT}⚠️ DISQUE : $DISK_USAGE% utilisé\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
if [ "$INODE_USAGE" -gt "$THRESHOLD" ]; then
|
||||||
|
REPORT="${REPORT}⚠️ INODES : $INODE_USAGE% utilisé\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2. CHECK RAM & SWAP
|
||||||
|
RAM_USAGE=$(free | grep Mem | awk '{print int($3/$2 * 100)}')
|
||||||
|
SWAP_TOTAL=$(free | grep Swap | awk '{print $2}')
|
||||||
|
|
||||||
|
if [ "$RAM_USAGE" -gt "$THRESHOLD" ]; then
|
||||||
|
REPORT="${REPORT}⚠️ RAM : $RAM_USAGE% utilisé\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
if [ "$SWAP_TOTAL" -gt 0 ]; then
|
||||||
|
SWAP_USAGE=$(free | grep Swap | awk '{print int($3/$2 * 100)}')
|
||||||
|
if [ "$SWAP_USAGE" -gt 50 ]; then
|
||||||
|
REPORT="${REPORT}⚠️ SWAP : $SWAP_USAGE% utilisé\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3. CHECK CHARGE CPU
|
||||||
|
CPU_LOAD=$(uptime | awk -F'load average:' '{ print $2 }' | cut -d',' -f1 | tr -d ' ' | tr ',' '.')
|
||||||
|
if (( $(echo "$CPU_LOAD > $LOAD_THRESHOLD" | bc -l) )); then
|
||||||
|
REPORT="${REPORT}🔥 CPU LOAD : $CPU_LOAD (Surcharge)\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 4. CHECK SERVICES (SSH et Fail2Ban sont vitaux)
|
||||||
|
for SVC in "ssh" "fail2ban"; do
|
||||||
|
if ! systemctl is-active --quiet "$SVC"; then
|
||||||
|
REPORT="${REPORT}❌ SERVICE : $SVC est ARRÊTÉ\n"
|
||||||
|
ALERT=true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# --- ENVOI VIA ALIAS ROOT ---
|
||||||
|
if [ "$ALERT" = true ]; then
|
||||||
|
# Le sujet sera automatiquement préfixé par le wrapper [$HOSTNAME]
|
||||||
|
echo -e "Détails de l'alerte :\n\n$REPORT\n---\nDate: $(date)" | mail -s "ALERTE RESSOURCES" "$DEST"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user