Le cas est le suivant : j’ai un dossier dans un serveur Windows qui est partagé sous forme d’un lecteur réseau auprès des salariés de mon entreprise.
Dans une invite de commande, afficher les répertoires contenus dans un dossier se fait avec la commande suivante :
dir "Chemin_du_dossier" /A:D /B
Le paramètre /B permet de ne ressortir que les noms de dossier, pas leur date de modification. Ainsi, le texte retourné est toujours le même tant que un dossier n’a pas été supprimé, ajouté ou renommé.
Mise en oeuvre
Client zabbix
Au niveau du serveur Windows, on ajoute un paramètre utilisateur dans le fichier de configuration zabbix_agentd.win.conf :
UserParameter=QFolderList[*], dir "c:\Services" /A:D /B
(où c:\Services est le chemin local du dossier à surveiller). On redémarre ensuite le service Zabbix sur le serveur windows.
Item
Voici les principaux points à configurer :
- Type : Zabbix agent
- Key : Le nom spécifié dans le fichier de configuration, dans mon cas QFolderList
- Type of Information : Text
- Update Interval : Attention ! Le volume peut être important ! (dans mon cas j’ai mis 2h (7200s)
Trigger
Je choisis ici de recevoir une alerte par email quand la valeur change, j’utilise donc la fonction .diff(0)
Rien de spécial, un simple envoi par mail quand le trigger passe en « PROBLEM » :