Dans ce tutoriel, je vais vous expliquer comment redémarrer un service Windows où l’agent Zabbix est installé. Si vous avez suivi le tutoriel : Zabbix – Redémarrer un service sur Ubuntu – Linux, c’est quasiment identique.
Pour illustrer ce tutoriel, nous allons chercher à redémarrer le service Winlogbeat.
Comment vous pouvez le voir, sur plusieurs serveurs, le service Winlogbeat est arrêté et cela arrive régulièrement. Pour éviter des actions manuels dans le futur, nous allons faire en sorte que l’agent Zabbix redémarre le service quand celui-ci est arrêté.
On va commencer par créer un « script » in indiquant la commande PowerShell qui va permettre le redémarrage du service.
Depuis l’interface Web de Zabbix, dérouler la partie Administrations 1 puis cliquer sur Scripts 2. Sur cette page qui affiche la liste des scripts, cliquer sur le bouton Créer un script 3 qui se trouve en haut à gauche.
Nommer le script 1, entrer la commande qui va permettre le redémarrage 2 : powershell Start-Service NameOfService et cliquer sur Ajouter 3.
Le script est ajouté à Zabbix.
Il faut maintenant créer l’action qui va exécuter le script, c’est la que l’on va sélectionner le déclencheur de l’item et lui indiquer le script à exécuter.
Depuis le menu dans la section Configuration 1, aller sur Action 2 et cliquer sur Actions de déclencheur 3.
Cliquer sur le bouton Créer une action 1.
Nommer l’action 1 puis cliquer sur Ajouter 2 dans la partie conditions.
Pour la configuration du déclencheur, il y a plusieurs façon de procéder, soit sélectionner chaque déclencheur existant, ce qui peut être long, ou utiliser une expression, ce que l’on va faire.
Dans Type, sélectionner Nom du déclencheur 1, Opérateur choisir contient et dans la valeur entrer par exemple le nom du service 3 (ici Winlogbeat) et terminer en cliquant sur Ajouter 4.
Une fois la condition ajoutée 1, cliquer sur Opération 2.
Cliquer sur Ajouter 1 dans la partie Opération.
Sélectionner le script précédemment créé dans le champ Opération 1, dans la liste des cibles, cocher Hôte actuel 2 pour que le script soit exécuté sur le serveur où le déclencheur a été activé, cliquer ensuite sur Add 3.
Une fois l’Opération ajoutée, cliquer sur le bouton Ajouter 1.
Nous avons fini pour la partie au niveau de Zabbix, il faut maintenant configurer les agents Zabbix afin qu’ils soient autorisés à exécuter des scripts.
Ce que nous allons faire maintenant, doit être fait sur tous les serveurs où vous souhaitez que l’action soit exécutée.
Il faut éditer le fichier zabbix_agent2.conf qui se trouve dans le répertoire où vous avez installé l’agent Zabbix.
Dans le fichier, rechercher la partie Option: AllowKey 1.
Ajouter en dessous la ligne suivante : AllowKey=system.run[*]
1 et décommenter la ligne suivante DenyKey=system.run[*]
2.
Sauvegarder les modifications et fermer le fichier.
Pour la prise en compte des modifications, redémarrer le service de l’agent Zabbix.
Au prochain arrêt du service, celui-ci sera automatiquement redémarrer par l’agent Zabbix.