Présentation des actions automatiques
Les actions automatiques dans GLPI est une brique essentielle au bon fonctionnement de celui-ci.
Elles exécutent des tâches en arrière en plan pour l’optimisation du logiciel et aussi des actions sur l’inventaire, helpdesk ….
Quelques exemples :
- Clôture automatique des incidents
- Envoie d’email
- Collecte des emails
- Gestion des découvertes et inventaire dans FusionInventory
- Rotation des logs
- …
Les actions automatiques peuvent être exécutées de deux manières :
- GLPI : l’action est déclenchée par le surf utilisateur
- CLI : l’action est déclenchée par un tâche planifiée exécutée sur le serveur web (recommandé).
Configuration de GLPI
1. Aller sur votre GLPI.
2. Depuis le menu de navigation aller sur Configuration 1 > Actions automatiques 2.
3. La liste des tâches automatiques s’affiche avec leur mode d’exécution, leur statut et la date de dernière exécution.
4. Cliquer sur une action pour en avoir le détail. Sur l’onglet principal on retrouve la planification de la tâche, le mode d’exécution et le statut.
5. L’onglet Statistiques 1 permet d’avoir des informations sur l’exécution de la tâche.
6. L’onglet Journaux 1 permet la visualisation des logs de la tâche.
Passer toutes les actions en mode CLI
1. Aller à la liste des actions.
2. Cocher la case 1 pour sélectionner l’ensemble de la liste et cliquer sur Actions 2.
3. Action choisir Modifier 1, sélectionner Caractéristiques – Mode d’exécution 2, choisir CLI 3 et cliquer sur Envoyer 4.
Paramétrer le nombre d’action par tâche planifiée
1. Depuis le menu de navigation aller sur Configuration 1 > Générale 2.
2. Aller sur l’onglet Système 1 et modifier le champ Nombre maximum d’actions automatiques simultanées (exécution CLI) 2 et Enregistrer.
Cette valeur est à adapter en fonction de votre installation de GLPI, système d’exploitation et le de la configuration de PHP. Commencer par une valeur entre 5 et 10.
Configuration d’une tâche planifiée (cron)
Sous Windows
1. Créer un fichier sur votre serveur web au format xxxx.bat dans le répertoire de votre choix.
2. Ouvrir le fichier avec l’éditeur de votre choix.
3. Entrer le code ci-après adapté à votre installation.
"chemin_installation_de_php\php.exe" "chemin_installation_de_glpi\front\cron.php"
Exemple :
"C:Program Files (x86)\PHP\v5.5\php.exe" "D:\www\glpi\front\cron.php"
4. Enregistrer votre fichier.
Il est possible de test votre script en l’exécutant directement et de vérifier dans GLPI l’exécution des tâches.
5. Ouvrir le Planificateur de tâches 1.
6. Cliquer sur Créer une tâche … 1.
7. Donner un nom à la tâche 1, cocher la case Exécuter même si l’utilisateur n’est pas connecté 2 et Exécuter avec les autorisations maximales 3. Aller ensuite sur l’onglet Déclencheurs 4.
8. Cliquer sur le bouton Nouveau … 1.
9. Sélectionner la fréquence d’exécution chaque jour 1, cocher la case Répéter la tâche toutes les : 2, indiquer la fréquence 3 et la durée 4 >. Vérifier que le déclencheur est activé 5 et pour finir cliquer sur le bouton OK 6.
10. Le déclencheur est ajouté 1, aller sur l’onglet Actions 2.
11. Cliquer sur Nouveau … 1.
12. Cliquer sur le bouton Parcourir … 1.
13. Sélectionner le script 1 et cliquer sur Ouvrir 2.
14. Cliquer sur OK 1.
15. Vérifier la prise en compte de l’action 1 et cliquer sur OK 2 pour valider la création de la tâche.
16. La tâche planifiée a été ajoutée à la liste 1.
Sous Linux (Ubuntu)
1. Ouvrir une session SSH sur votre serveur WEB.
2. Entrer la commande suivante pour éditer les tâches planifiées.
sudo crontab -e
3. Créer la tâche en entrant la ligne suivante pour exécuter l’action toutes les minutes :
1 * * * * php /chemin_installation_glpi/front/cron.php &>/dev/null
4. Enregistrer les modifications.
5. Redémarrer le service cron.
sudo service cron restart
6. Vérifier dans GLPI l’exécution des actions automatiques.
Si le cron ne fonctionne pas, l’article suivant devrait vous aider à résoudre le problème : Tâche planifiée qui ne s’exécute pas.
Si vous utilisez webmin, la tâche cron devrait être configuré comme ci-dessous :
Je n’ai pas compris….
On configure dans GLPI des actions automatiques avec des timings, mais on crée une tâche planifié dans Windows, c’est l’un ou l’autre, ou il faut faire les deux ? Dans ce cas, si dans mon GLPI je met toute les 5 minutes, et dans Windows toute les 10 min ? Je vois pas où est l’intérêt ?
Bonjour Lionel,
Le fonctionnement est le suivant :
Toutes les x minutes, on va appeler le fichier cron.php de GLPI, celui ci va ensuite vérifier les tâches automatiques a exécutées dans GLPI qui ont leur propre planification.