Changes to be committed:
renamed: install_docker.sh -> install/docker.sh new file: install/packages.sh new file: monitoring/cpu.sh renamed: update.sh -> monitoring/update.sh
This commit is contained in:
35
monitoring/cpu.sh
Normal file
35
monitoring/cpu.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
# URL ntfy
|
||||
NTFY_URL="my_url"
|
||||
# Chemin vers le fichier journal
|
||||
LOG_FILE="/var/log/cpu.log"
|
||||
# Seuil de charge CPU en pourcentage
|
||||
SEUIL_CPU=70
|
||||
|
||||
# Obtenir le nom du serveur à partir du hostname
|
||||
SERVER_NAME=$(hostname)
|
||||
|
||||
# Fonction pour obtenir la charge CPU actuelle
|
||||
get_cpu_load() {
|
||||
# Utilisation de la commande 'top' pour obtenir la charge CPU
|
||||
cpu_load=$(top -bn1 | awk '/%Cpu/ {print $2}' | cut -d "." -f 1)
|
||||
echo "$cpu_load"
|
||||
}
|
||||
|
||||
# Vérifier la charge CPU et envoyer une notification si nécessaire
|
||||
check_cpu_load() {
|
||||
cpu_usage=$(get_cpu_load)
|
||||
|
||||
if [ "$cpu_usage" -gt "$SEUIL_CPU" ]; then
|
||||
#top_processes=$(get_top_processes)
|
||||
date >> $LOG_FILE
|
||||
ps aux --sort=-%cpu | head -n 6 >> $LOG_FILE
|
||||
message="La charge CPU du serveur ${SERVER_NAME} est de ${cpu_usage}% (seuil: ${SEUIL_CPU}%) voir logs dans /var/log/cpu.log"
|
||||
title="!!!CPU(${SERVER_NAME})!!!"
|
||||
curl -d "$message" ntfy.sh/$NTFY_URL?title=$title
|
||||
fi
|
||||
}
|
||||
|
||||
# Appeler la fonction pour vérifier la charge CPU
|
||||
check_cpu_load
|
||||
39
monitoring/update.sh
Normal file
39
monitoring/update.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Utilisation ##
|
||||
# cat /var/log/update.log pour voir les logs
|
||||
# sudo bash update.sh afin de l'utiliser directement
|
||||
|
||||
# Colors
|
||||
green='\033[0;32m'
|
||||
orange='\033[0;33m'
|
||||
red='\033[0;31m'
|
||||
reset='\033[0m'
|
||||
|
||||
# Update and log
|
||||
echo "Mise à jour des paquets..."
|
||||
apt update > /dev/null 2>&1
|
||||
echo ">>-----Dernière MAJ : $(date +'%d/%m %H:%M')-----<<" > /var/log/update.log
|
||||
update=$(apt --just-print upgrade 2>/dev/null | grep 'Inst' | wc -l)
|
||||
if [ "$update" -ne 0 ]; then
|
||||
if [ "$update" -lt 2 ]; then
|
||||
echo -e "${green}$update mise à jour peut être appliquée immédiatement${reset}" | tee -a /var/log/update.log
|
||||
elif [ "$update" -lt 10 ]; then
|
||||
echo -e "${green}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
|
||||
elif [ "$update" -lt 20 ]; then
|
||||
echo -e "${orange}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
|
||||
elif [ "$update" -ge 20 ]; then
|
||||
echo -e "${red}$update mises à jour peuvent être appliquées immédiatement${reset}" | tee -a /var/log/update.log
|
||||
fi
|
||||
else
|
||||
echo -e "${green}Tous les paquets sont à jour${reset}" | tee -a /var/log/update.log
|
||||
fi
|
||||
|
||||
security=$(apt --just-print upgrade 2>/dev/null | grep 'Inst' | grep -i security | wc -l)
|
||||
if [ "$security" -ne 0 ]; then
|
||||
echo -e "${red}$security de ces mises à jour sont des mises à jour de sécurité${reset}" | tee -a /var/log/update.log
|
||||
fi
|
||||
|
||||
if [ -f /var/run/reboot-required ]; then
|
||||
echo -e "${orange}Un redémarrage est requis pour finaliser les mises à jour${reset}" | tee -a /var/log/update.log
|
||||
fi
|
||||
Reference in New Issue
Block a user