dbarzin / deming

Management tool for the information security management system / Outil de gestion du système de management de la sécurité de l'information
GNU General Public License v3.0
239 stars 58 forks source link

Problème notification #71

Closed mangoDC closed 7 months ago

mangoDC commented 8 months ago

Bonjour,

Après avoir effectué des changements au niveau du localhost name(dns), je ne reçois plus de notifications lorsque je planifie un contrôle ce qui était possible avant modification.

Même avec la commande suivante rien ne se passe php artisan deming:send-notifications.

Pourtant le test d'envoi de mail lui fonctionne bien dans Notifications configuration.

Si je reprends la commande exécutée par la crontab : /var/www/deming$ php artisan schedule:run

INFO No scheduled commands are ready to run.

logs obtenu avec la commande larevel.log : [2024-02-29 12:07:55] ISMS.DEBUG: SendNotifications - Start. [2024-02-29 12:07:55] ISMS.DEBUG: SendNotifications - day 25 [2024-02-29 12:07:55] ISMS.DEBUG: SendNotifications - check [2024-02-29 12:07:55] ISMS.DEBUG: SendNotifications - DONE. [2024-02-29 12:45:27] ISMS.DEBUG: SendNotifications - Start. [2024-02-29 12:45:27] ISMS.DEBUG: SendNotifications - day 25 [2024-02-29 12:45:27] ISMS.DEBUG: SendNotifications - check [2024-02-29 12:45:28] ISMS.DEBUG: SendNotifications - DONE. [2024-02-29 12:48:28] ISMS.DEBUG: SendNotifications - Start. [2024-02-29 12:48:28] ISMS.DEBUG: SendNotifications - day 25 [2024-02-29 12:48:28] ISMS.DEBUG: SendNotifications - check [2024-02-29 12:48:28] ISMS.DEBUG: SendNotifications - DONE.

dbarzin commented 8 months ago

Le code se trouve ici : https://github.com/dbarzin/deming/blob/main/app/Console/Commands/SendNotifications.php

Selon la fréquence, les notifications ne sont envoyées que certains jours :

    private function needCheck()
    {
        $check_frequency = config('deming.notification.frequency');

        return // Daily
            ($check_frequency === '1') ||
            // Weekly
            (($check_frequency === '7') && (Carbon::today()->dayOfWeek === 1)) ||
            // Every two weeks
            (($check_frequency === '15') && ((Carbon::today()->day === 1)||(Carbon::today()->day === 15))) ||
            // Monthly
            (($check_frequency === '30') && (Carbon::today()->day === 1));
    }

Quelle est la fréquence de notification configurée ?

dbarzin commented 8 months ago

Des messages de logs ont été ajoutés pour mieux pouvoir tracer ce qui se passe dans cette classe.

mangoDC commented 7 months ago

La fréquence est identique à votre code, une notification doit etre envoyé tous les jours à minuit. Comment puis-je avoir voir les logs lié à ce qui se passe dans cette commande ?

dbarzin commented 7 months ago

Tu peux aller voir dans les logs de Laravel /var/www/deming/storage/logs/laravel.log

mangoDC commented 7 months ago

après vérification des logs je constate qu'il y a un no check cela peut-il etre la cause du problème ? image ``

dbarzin commented 7 months ago

Tu n'as pas la dernière version du code. Peux-tu mettre à jour et recommencer ?

mangoDC commented 7 months ago

Lorsque je fais un git pull je recois le message d'erreur suivant : image

dbarzin commented 7 months ago

OK, "rm composer.lock"

mangoDC commented 7 months ago

Mise à jour effectué mais le résultat est le même, la notification planifié pour aujourd'hui ne s'envoie pas même avec la commande php artisan deming:send-notifications. image

dbarzin commented 7 months ago

Il y a un problème de cache, il semble que ce ne soit pas la dernière version du code qui est exécuté. Le log "no check" a été remplacé par un autre message dans le code : https://github.com/dbarzin/deming/blob/main/app/Console/Commands/SendNotifications.php

Peux-tu essayer de lancer cette commande :

php artisan optimize:clear

La commande d'envoi de mail est exécutée une fois par jour via le crontab. Cela se trouve dans la procédure d'installation : https://github.com/dbarzin/deming/blob/main/INSTALL.fr.md#sheduler

mangoDC commented 7 months ago

alors la fréquence est passé à 0. image

dbarzin commented 7 months ago

Donc, la fréquence d'envoi de notification vaut zéro (jamais). Il faut configurer "journalièrement" dans l'écran de configuration : image

mangoDC commented 7 months ago

Problème résolu merci pour votre aide.