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:
2023-10-21 10:43:19 +02:00
parent 86ebfd59dd
commit 0248e202b0
4 changed files with 66 additions and 0 deletions

35
monitoring/cpu.sh Normal file
View 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
View 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