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.
Cette procédure vous permettra d'installer ou de mettre à jour ce Poller Windows.
Pour les versions V02.08.01.08 et supérieurs, le Poller Shinken utilise désormais Python 3.11.
Exemple :
En fonction de la version de Python de votre Poller des étapes diffèrent. Il sera précisé lorsque des manipulations spécifiques seront nécessaires avec le tag : [Maj Python 3] |
La mise à jour d'un démon Poller Windows est manuelle.
Sur votre serveur Windows, réalisez l'extraction du fichier compressé que vous avez téléchargé ( utilisez 7-zip par exemple ), et suivez les différentes étapes.
Depuis le gestionnaire des services Windows, arrêtez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :
net stop Shinken-Poller |
Depuis le gestionnaire de tâche Windows, bien vérifier que les processus "python.exe" ( liés au service Shinken ) ne soient plus présents.
Si après l'arrêt du service Shinken-Poller, des processus "python.exe" sont toujours ouverts, vous pouvez les terminer.
Les manipulations de remplacement de fichiers pouvant être délicates, nous vous conseillons de faire une copie complète de c:\shinken dans un dossier de backup de votre choix ( exemple c:\temp\backup\ ).
python-3.11.8-amd64.exe /quiet /passive InstallAllUsers=1 Include_tcltk=0 DefaultAllUsersTargetDir=c:\\Python311 SimpleInstall=1 |
Depuis l'explorateur Windows :
c://Python311//Scripts//pip.exe install -r requirements.txt --no-warn-script-location |
À APPLIQUER QUE SI ÇA N'EST PAS UN PATCH |
Se placer à la racine de votre fichier décompressé :
xcopy /y .\context.json C:\shinken\var\context.json |
rmdir /s/q C:\shinken\shinken rmdir /s/q C:\shinken\bin xcopy /e/i/y .\shinken\shinken C:\shinken\shinken xcopy /e/i/y .\shinken\bin C:\shinken\bin xcopy /e/i/y .\shinken\modules C:\shinken\modules xcopy /y .\openssl.cnf C:\shinken\etc\openssl.cnf |
rmdir /s/q C:\Python311\Lib\site-packages\shinkensolutions xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions |
xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions |
Si l'extraction du dossier TAR.GZ n'a pas été faite à la racine du disque, la longueur des chemins d’accès peut dépasser les limites de xcopy et entrainer des dysfonctionnements de la commande. |
Depuis le gestionnaire des services Windows, démarrez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :
net start Shinken-Poller |
Pour paramétrer le daemon en SSL, il faut modifier le fichier c:\shinken\etc\daemons\pollerd-windows.ini et modifier le bloc suivant :
#-- HTTPS configuration -- |
Vous pourrez alors activer le SSL et paramétrer vos certificats.
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 :
set OPENSSL_CONF=C:\shinken\etc\openssl.cnf C:\Python311\python.exe -X utf8 c:\shinken\bin\shinken-poller -c c:\shinken\etc\daemons\pollerd-windows.ini |
Set-Item -Path env:OPENSSL_CONF -Value "C:\shinken\etc\openssl.cnf" C:\Python311\python.exe -X utf8 c:\shinken\bin\shinken-poller -c c:\shinken\etc\daemons\pollerd-windows.ini |
Bien vérifier que la communication réseau entre votre architecture Shinken et ce nouveau Poller Windows est opérationnelle.
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.
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.
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.