diff --git a/conf/common/etc/nagios/nrpe.d/check_nrpe.cfg b/conf/common/etc/nagios/nrpe.d/check_nrpe.cfg index f6b1b05..24a9bc5 100644 --- a/conf/common/etc/nagios/nrpe.d/check_nrpe.cfg +++ b/conf/common/etc/nagios/nrpe.d/check_nrpe.cfg @@ -21,7 +21,6 @@ command[check_load] = /usr/local/bin/check_load command[check_memory] = /usr/local/bin/check_memory command[check_systemd] = /usr/local/bin/check_systemd command[check_service] = /usr/local/bin/check_service -command[check_log] = /usr/local/bin/check_log command[check_chrony] = /usr/local/bin/check_chrony # with sudo @@ -30,3 +29,4 @@ command[check_reboot] = sudo /usr/sbin/needrestart -p -k command[check_restart] = sudo /usr/sbin/needrestart -p -l command[check_git] = sudo /usr/local/sbin/check_git command[check_conf] = sudo /usr/local/sbin/check_conf +command[check_log] = sudo /usr/local/sbin/check_log diff --git a/conf/common/usr/local/bin/check_log b/conf/common/usr/local/sbin/check_log similarity index 77% rename from conf/common/usr/local/bin/check_log rename to conf/common/usr/local/sbin/check_log index cdbeacf..a29afa6 100755 --- a/conf/common/usr/local/bin/check_log +++ b/conf/common/usr/local/sbin/check_log @@ -47,8 +47,12 @@ if [ "$PRINT_MODE" = true ]; then fi fi -# Répertoire des logs +# Répertoire des logs perso REP_LOG="/var/log/check_log" + +# Répertoire ulogd +REP_ULOGD="/var/log/ulog" + # Fichier iptables ou nftables [ -f '/var/log/iptables.log' ] && FIC_TABLES_LOG='/var/log/iptables.log' [ -f '/var/log/nftables.log' ] && FIC_TABLES_LOG='/var/log/nftables.log' @@ -61,7 +65,7 @@ LOG_ERR="ERROR" ################################################################################ -# Si le répertoire n'existe pas, on met un petit WARNING +# Si le répertoire des logs perso n'existe pas, on met un petit WARNING if [ ! -d "$REP_LOG" ] ; then echo "[WARNING] Le répertoire $REP_LOG n'existe pas" exit 1 # Sortie en Warning @@ -69,21 +73,28 @@ fi ################################################################################ -# Cherche tous les fichiers .log présents dans le répertoire -LISTE_LOG=$(find $REP_LOG ! -empty -type f -name '*.log') +# Fonction permettant de trouver les .log non vides d'un répertoire +function find_log() { + FIND_DIR=$1 + # Cherche tous les fichiers .log présents dans le répertoire + LISTE_LOG=$(find $FIND_DIR ! -empty -type f -name '*.log') -if [ "$LISTE_LOG" ] ; then - # Pour chaque fichier présent - for LOG in $LISTE_LOG ; do - $DEBUG && echo -e "DEBUG\t\t\tERROR\t$LOG" - # Concaténation du log d'erreur - FIC_ERR="$FIC_ERR\n$LOG" - # Et on dit qu'on a au moins une erreur - ERROR=true - done -else - $DEBUG && echo -e "DEBUG\t\t\t$LISTE_LOG est vide\t" -fi + if [ "$LISTE_LOG" ] ; then + # Pour chaque fichier présent + for LOG in $LISTE_LOG ; do + $DEBUG && echo -e "DEBUG\t\t\tERROR\t$LOG" + # Concaténation du log d'erreur + FIC_ERR="$FIC_ERR\n$LOG" + # Et on dit qu'on a au moins une erreur + ERROR=true + done + else + $DEBUG && echo -e "DEBUG\t\t\t$LISTE_LOG est vide\t" + fi +} + +find_log $REP_LOG +find_log $REP_ULOGD ################################################################################