| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Il est
intéressantavantageux d'avoir un démon Poller disponible directement sous Windows
afin, car cela permet d'
avoir à disposition l'exploiter un 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 le service a été démarré
le service et ainsi ne pas avoir besoin, évitant ainsi la nécessité d'un login/password pour
sala requête.
- Donc sur Dans un environnement Active Directory (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 ), lancer le Poller Shinken de Windows avec un compte administrateur du domaine permet d'envoyer des requêtes aux hôtes de l'AD sans avoir besoin d'inclure des identifiants utilisateur ou des mots de passe dans la commande.
- Votre nouveau Le Poller pourra donc être tagué de manière à alors être configuré ( propriété poller_tags ) pour 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.
Mise à jour
Pour les versions V02.08.01.08 et supérieurs, le Poller Shinken utilise désormais Python 3.11.
Il existe donc deux versions du protocole de mise à jour, en fonction de la version Python du Poller installée sur votre machine.
Pour connaitre la version de Python de votre Poller vous pouvez lancer la commande suivante ( en tant qu'administrateur ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\Shinken-Poller\Parameters /v Application |
Exemple :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
PS C:\Windows\system32> reg query HKLM\SYSTEM\CurrentControlSet\Services\Shinken-Poller\Parameters /v Application
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Shinken-Poller\Parameters
Application REG_SZ c:\Python311\python.exe |
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]
Récupération et extraction des données
Shinken pour Windows est fourni sous la forme d'un fichier TAR.GZ contenant les dossiers et exécutables nécessaires pour installer un Poller sur Windows.
Pour procéder à l'installation, il faut se connecter en tant qu'administrateur sur le serveur Windows et ensuite, extraire le fichier TAR.GZ à la racine du disque ( 7Zip par exemple permet d'effectuer cette extraction sur Windows ).
Arrêt du service Shinken-
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.
Arrêt démonPoller
Depuis le gestionnaire des services Windows, arrêtez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :
Code Block language text theme Emacs 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.
Backup
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\ ).
Mise à jour de
pythonInstallation de pythonShinken
- Ouvrir une un shell en administrateur ( l'invite de commande en administrateur → Touche Windows, tapez "cmd" puis lancez cmd.exe en administrateur ( clic droit "Exécuter en tant qu'administrateur" ).ou PowerShell )
- 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 ). cd
Lancer
Exécuterla commande suivante :
Avec PowerShell
Code Block language text theme Emacs
.
Mise à jour des clés de registre
Depuis l'explorateur Windows :
- Importer le fichier poller.reg dans votre registre en double cliquant dessus
Remplacement des fichiers et mise à jour des dépendances
Mise à jour des dépendances
/update.cmdAvec l'invite de commande ( cmd )
Code Block language text theme Emacs
c://Python311//Scripts//pip.exe install -r requirements.txt --no-warn-script-locationRemplacement des fichiers
update.cmd
Vérification la mise à jour du Poller
| Warning |
|---|
À APPLIQUER QUE SI ÇA N'EST PAS UN PATCH |
Se placer à la racine de votre fichier décompressé :
- Le fichier C:\shinken\var\pollerd.log.DATE doit exister.
- Le port 7771 doit être ouvert. Lancer la commande suivante :
Avec PowerShell
Code Block language text theme Emacs
netstat
- 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, quatre autres dossiers : CherryPy-X.Y.Z, shinken, shinkensolutions, Tools )
- Exécuter la suite de commandes suivante :
-an | Select-String 7771Code Block language text theme Emacs
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.cnfTCP 0.0.0.0:7771 0.0.0.0:0 LISTENING
Avec l'invite de commande ( cmd )
Code Block language text theme Emacs
rmdir /s/q C:\Python311\Lib\site-packages\shinkensolutions
xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutionsnetstat -an | find "7771"Code Block language text theme Emacs
xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions| Info | ||
|---|---|---|
| ||
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. |
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 :
| language | text |
|---|---|
| theme | Emacs |
TCP 0.0.0.0:7771 0.0.0.0:0 LISTENING
Troubleshooting
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 Il est possible d'activer le SSL et paramétrer vos les certificats.
Démarrage manuel du Poller - pour test
Si Si le service Windows "Shinken-Poller" 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 ", il est possible de lancer manuellement le Poller sous Windows :
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
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 |
| 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 -c c:\shinken\etc\daemons\pollerd-windows.ini |
| Info |
|---|
La ligne de déclaration de la configuration OpenSSL est indispensable pour démarrer le Poller Windows, même lorsque le chiffrement SSL n’est pas activé. Sans cette déclaration, le Poller ne pourra pas démarrer. |
Réseau
Bien vérifier que la communication réseau entre votre l'architecture Shinken et ce le 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 la configuration, la résolution de nom doit également aussi permettre au Poller Windows de communiquer avec les autres démons et inversement.
Droits
Lors de vos des installations, bien penser à il faut ê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.