| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Il est intéressant d'avoir un démon Poller disponible directement sous Windows afin d'avoir à disposition l'environnement de lancement soumis aux droits Windows.
Par exemple, une requête lancée en WMI ( via la sonde check_wmic.exe ) pourra utiliser les droits de l'utilisateur avec lequel a été démarré le service et ainsi ne pas avoir besoin d'un login/password pour sa requête.
- Donc sur un environnement AD, si vous démarrez votre service en tant que compte de service administrateur sur le domaine, vous pourrez envoyer une requête sur vos hôtes depuis ce Poller, sans utiliser d'identifiant utilisateur ou de mot de passe dans la commande.
- Votre nouveau Poller pourra donc être tagué de manière à récupérer du Scheduler uniquement des checks spécifiques exécutables depuis le serveur Windows.
Cette procédure vous permettra d'installer ou de mettre à jour ce Poller Windows.
Installation
| Warning |
|---|
La première installation du Poller Windows ne doit pas provenir d'une version patchée ! Si vous avez une version patchée faite d'abord une installation de la version non patchée et ensuite appliqué la procédure de mise à jour avec votre version patchée. |
Récupération et extraction des données
| Info | ||
|---|---|---|
| ||
L'extraction du dossier TAR.GZ doit être réalisée à la racine du disque. |
Shinken Entreprise vous a transmis un fichier TAR.GZ contenant des dossiers et exécutables qui vous permettront de procéder à l'installation d'un Poller sur Windows.
Se connecter en administrateur sur le serveur, et extraire ce TAR.GZ sur le serveur Windows à la racine de votre disque ( 7Zip par exemple peut vous permettre d'effectuer cette extraction sur Windows ).
Installation de python
- Ouvrir une invite de commande en administrateur → Touche Windows, tapez "cmd" puis lancez cmd.exe en administrateur ( clic droit "Exécuter en tant qu'administrateur" ).
- Se rendre dans le dossier issu de l'extraction de l'archive avec la commande cd ( le dossier contient, entre autres, 3 dossiers : shinken, shinkensolutions, Tools ).
- Exécuter la commande suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
python-3.11.8-amd64.exe /quiet /passive InstallAllUsers=1 Include_tcltk=0 DefaultAllUsersTargetDir=c:\\Python311 SimpleInstall=1 |
Installations des dépendances
- Pour installer les dépendances python du Poller Shinken exécuter, dans le dossier issu de l'extraction de l'archive, la suite de commandes suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
c://Python311//Scripts//pip.exe install -r requirements.txt --no-warn-script-location |
Installation du poller Shinken
- Pour installer le Poller Shinken, dans le dossier issu de l'extraction de l'archive, exécuter les commandes suivantes :
| Code Block | ||||
|---|---|---|---|---|
| ||||
xcopy /e/i/y .\shinken C:\shinken xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions xcopy /y .\context.json C:\shinken\var\context.json xcopy /y .\openssl.cnf C:\shinken\etc\openssl.cnf |
Installation du service Automatique Windows
Ouvrir une commande DOS en Administrateur puis exécuter la commande :
| Code Block | ||||
|---|---|---|---|---|
| ||||
sc create "Shinken-Poller" binpath= "c:\shinken\srvany\srvany.exe" DisplayName= "Shinken-Poller" |
( ATTENTION: les espaces après les = sont nécessaires )
Depuis l'explorateur Windows :
- Importer le fichier poller.reg dans votre registre en double cliquant dessus
- Depuis la console MMC des services Windows ( depuis les Outils d'Administration ou par la commande services.msc ), changer le service Shinken-Poller en "Automatique" depuis les propriétés du service et changer le compte qui va exécuter le service ( sur un compte administrateur local ou de domaine )
Démarrer alors le service en cliquant sur "démarrer" sur la ligne du service Shinken-Poller de la console MMC ou par la commande :
Code Block language text theme Emacs net start Shinken-Poller
- Vérifier qu'il est lancé avec :
- Le log C:\shinken\var\pollerd.log.DATE
Le port 7771 qui doit être ouvert, vous pouvez le vérifier à l'aide de la commande :
Code Block language text theme Emacs netstat -an
- Une fois le nouveau Poller déclaré en configuration, depuis votre installation centrale, exécuter la commande shinken-healthcheck : vos Pollers doivent être valides et accessibles.
- Note : une à deux minutes sont parfois nécessaires afin que la configuration soit diffusée
Configuration du Poller Windows
Cette section va vous aider à configurer le Poller Windows pour lancer des scripts de supervision depuis un environnement Windows.
Mise en place des scripts
Vous pouvez déposer vos scripts dans le dossier suivant de votre Poller Windows :
| Code Block | ||||
|---|---|---|---|---|
| ||||
C:\shinken\libexec |
Depuis votre serveur possédant le Synchronizer, il faut créer une variable dans le fichier /etc/shinken/resource.d/paths.cfg
Par exemple :
| Code Block | ||||
|---|---|---|---|---|
| ||||
$WINDOWSUSERPLUGINSDIR$=C:/shinken/libexec |
Cette variable sera utilisée lors de la création de la commande.
Création d'un tag Poller
Depuis votre serveur possédant le Synchronizer, vous devez modifier le paramètre poller_tags du fichier de configuration de votre Poller Windows :
| Code Block | ||||
|---|---|---|---|---|
| ||||
poller_tags windows |
Redémarrer le Synchronizer pour la prise en compte du nouveau tag Poller
Création d'une commande exécuté via un Poller Windows
Lors de la création de la commande via l'interface de configuration, il faut ajouter la variable spécifique au Poller Windows ainsi que son tag :
Par exemple :
| Code Block | ||||
|---|---|---|---|---|
| ||||
$WINDOWSUSERPLUGINSDIR$/check_win_process.exe ARGUMENT |
Dans l'onglet "Expert", sur la ligne Tag Poller, sélectionner votre tag "windows"
Si vous souhaitez passer par un fichier .cfg, les paramètres à ajouter sont :
| Code Block | ||||
|---|---|---|---|---|
| ||||
command_line $WINDOWSUSERPLUGINSDIR$/check_win_process.exe ARGUMENT poller_tag windows |
Résultat final
Une fois votre commande ajoutée a votre hôte, le script en exemple "check_win_process.exe" sera exécuté depuis votre Poller Windows :
| Code Block | ||||
|---|---|---|---|---|
| ||||
C:\shinken\libexec\check_win_process.exe ARGUMENT |
Spécificités de certains scripts
Certaines commandes peuvent nécessiter d'autres arguments :
VBS
Ajouter les paramètres suivant devant votre script pour une bonne exécution :
| Code Block | ||||
|---|---|---|---|---|
| ||||
cscript.exe //NoLogo $WINDOWSUSERPLUGINSDIR$/check_fileage.vbs ARGUMENT |
PowerShell
Depuis votre serveur Windows, exécuter la commande suivante sur votre terminal "Windows PowerShell" ET "Windows PowerShell (x86)"
| Code Block | ||||
|---|---|---|---|---|
| ||||
Set-ExecutionPolicy Unrestricted |
Vous pouvez vérifier la prise en compte de votre demande avec cette commande :
| Code Block | ||||
|---|---|---|---|---|
| ||||
Get-ExecutionPolicy |
L'application de cette commande donne la possibilité d'exécuter des scripts à distance
Troubleshooting
Redémarrage du démon Poller
Depuis le gestionnaire des services Windows, démarrez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :
| Code Block | ||||
|---|---|---|---|---|
| ||||
net start Shinken-Poller |
Configuration SSL
Pour paramétrer le daemon en SSL, il faut modifier le fichier c:\shinken\etc\daemons\pollerd-windows.ini et modifier le bloc suivant :
| Code Block | ||||
|---|---|---|---|---|
| ||||
#-- HTTPS configuration -- |
Vous pourrez alors activer le SSL et paramétrer vos certificats.
Démarrage manuel du Poller - pour test
Si le service Windows ne démarre pas, pour débugger, vous pouvez lancer le démarrage du Poller et tester le démarrage en exécutant les commandes suivantes :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
set OPENSSL_CONF=C:\shinken\etc\openssl.cnf
C:\Python311\python.exe -X utf8 c:\shinken\bin\shinken-poller.py -c c:\shinken\etc\daemons\pollerd-windows.ini |
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
Set-Item -Path env:OPENSSL_CONF -Value "C:\shinken\etc\openssl.cnf"
C:\Python311\python.exe -X utf8 c:\shinken\bin\shinken-poller.py -c c:\shinken\etc\daemons\pollerd-windows.ini |
Réseau
Bien vérifier que la communication réseau entre votre architecture Shinken et ce nouveau Poller Windows est opérationnelle.
En effet, un firewall pourrait bloquer des communications importantes, ce qui pourrait provoquer des problèmes entre les différents démons.
Le port d'écoute 7771 doit être également ouvert sur le Poller Windows.
Si besoin, suivant les définitions des démons de votre configuration, la résolution de nom doit également permettre au Poller Windows de communiquer avec les autres démons et inversement.
Droits
Lors de vos installations, bien penser à être connecté en administrateur local de la machine, ou administrateur du domaine si le serveur est sur un domaine.
Limitation du Poller
Il n'est pas possible de limiter le CPU pour un Poller Windows. Par conséquent, la propriété "max_cpu_queue_per_cpu" dans la définition du Poller, n'aura aucun effet. En revanche, la limitation sur la mémoire est effective.