Dans ce tutoriel, je vais vous expliquer comment configurer les actions automatiques dans GLPI 10.
Présentation des actions automatiques dans GLPI
Pour réaliser certaines actions de fond comme les notifications par email, collectes des messages pour la génération de tickets, divers tâches de maintenance … GLPI 10 utilise des actions automatiques également appelé cron.
Les actions automatiques sont exécutées avec deux modes :
- GLPI : les actions automatiques sont exécutées lors de la navigation sur GLPI
- CLI : les actions automatiques sont exécutées avec une tache planifié au niveau du système d’exploitation en appelant le fichier cron.php
Pour de meilleur performance et une meilleur régularité d’exécution des actions automatiques , il est préférable d’utiliser le mode CLI.
Quelques précisions supplémentaires par rapport aux actions automatiques dans GLPI et la tâche que nous allons configurés pour exécuter les actions automatiques.
Les actions automatiques dans GLPI ont une planification qui leur est propre avec :
- Une fréquence : toutes les minutes, 5 minutes, un jour, une semaine …
- Une plage d’exécution qui peut être par exemple en 8h du matin et 18h
Sur les grosses bases de données GLPI, il faut éviter la purge des logs dans la journée pour éviter une ralentissement voir blocage de GLPI, on va par exemple la configurer sur une plage d’exécution entre 1h du matin et 5h du matin.
Si vous avez un collecteur de tickets par les e-mail, on peut exécuter l’action automatique de collecte toutes les 5 minutes entre 8h du matin et 18h.
Au niveau du système d’exploitation, on va configurer une tâche planifiée (cron) que va s’exécuter toutes les minutes qui va appelé le fichier cron.php
de glpi. L’appel de fichier cron.php
va lui vérifier si des tâches doivent être exécuter dans les actions automatiques en fonction de la fréquence et de la plage d’exécution.
Configuration des actions automatiques dans GLPI
Pour commencer, nous allons configuré l’ensemble des actions automatiques pour qu’elles utilisent le mode CLI.
Depuis le menu de navigation, déplier Configuration 1 puis cliquer sur Actions automatiques 2.
La liste des actions automatiques s’affiche.
Comme vous pouvez le voir sur la capture, toutes les actions automatiques ne sont pas Programmé, certes actions automatiques sont désactivés, ceci est normal, certaines actions automatiques sont activées (programmé) en fonction des paramètres dans GLPI.
Pour avoir plus d’information sur une tâches automatique, cliquer dessus pour accéder aux détails et à son paramétrage.
Ici, on peut voir que la tâche PurgeLogs est exécutée avec le mode CLI, une fois par semaine à n’importe quel moment de la journée.
Retourner à la liste des actions automatiques, on va personnalisé l’affichage de la liste pour voir le monde d’execution.
Cliquer sur la clé 1.
Dans la liste déroulante qui contient la liste des champs disponible, sélectionner Mode d’exécution 1.
Le champ sélectionné, cliquer sur le bouton Ajouter 1.
Le champ Mode d’exécution est ajouté à la liste des éléments par défaut, fermer la fenêtre (modal).
En bas de la liste, changer le nombre d’éléments affiché afin d’avoir toutes les actions automatiques.
Sélectionner toutes les actions automatiques 1 et cliquer sur Actions 2.
Choisir l’action Modifier 1 puis Caractéristique – Mode d’exécution 2, sélectionner CLI 3 et cliquer sur Envoyer 4.
Toutes les actions automatiques utilisent maintenant le mode CLI.
Configurer l’exécution des actions automatiques sur le système d’exploitation
Maintenant, il faut configurer l’exécution des actions automatiques depuis le système d’exploitation.
Pour cela, il faut exécuté via php le fichier suivant dans GLPI : front/cron.php
.
Pour résumé, voici la commande à exécuté :
php /path/of/glpi/front/cron.php
Pour exécuter cette commande, on va soit utiliser crontab sur Linux ou le planificateur de tâches sur Windows.
Cette configuration étant identique pour GLPI 9..X et GLPI 10, vous trouvez comment faire dans ce tutoriel : GLPI : actions automatiques configuration
Dans ce tutoriel, je vais vous expliquer comment configurer la tâche planifiée (cron) si vous utilisez les conteneurs pour GLPI.
Pour exécuté une commande dans un conteneur, il faut utiliser docker exec
avec en paramètre le nom du conteneur et ensuite la commande à passer.
Ce qui donne :
sudo docker exec <container-name> <command with parameters>
Pour GLPI 10 :
sudo docker exec glpi-php php /var/www/html/front/cron.php
Comme vous l’aurez remarquer dans la commande, on indique l’emplacement du fichier dans le conteneur et dans où le fichier est stocké sur l’hôte des conteneurs.
Pour configurer la tâche cron, ouvrir l’éditeur crontab :
sudo contab -e
Ajouter la ligne suivante pour exécuter les actions automatiques toutes les minutes :
*/1 * * * * docker exec glpi-php php /var/www/html/front/cron.php
Comme vous pouvez le voir, il n’y a pas de
sudo
dans la commande, car en éditant lecrontab
avecsudo
précédemment, nous configurons la tâche avec l’utilisateurroot
.
Sauvegarder et quitter le fichier.
Patienter quelques minutes et aller vérifier sur GLPI la date de dernière exécution des actions automatiques.
Pour tester la commande, il est possible de la jouer directement dans le terminal.