Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
maxLevel4
stylenone

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.

Mise à jour

Warning

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
languagetext
themeEmacs
reg query HKLM\SYSTEM\CurrentControlSet\Services\Shinken-Poller\Parameters /v Application


Exemple : 

Code Block
languagetext
themeEmacs
titleLe Poller Shinken utilise un python 3.11
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] 



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émon Poller

Depuis le gestionnaire des services Windows, arrêtez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :

Code Block
languagetext
themeEmacs
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\ ).

[Maj Python 3] Mise à jour de python

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 deux sous dossiers : shinken, shinkensolutions, Tools ).
  • Exécuter la commande suivante :
Code Block
languagetext
themeEmacs
python-3.11.8-amd64.exe /quiet /passive  InstallAllUsers=1 Include_tcltk=0 DefaultAllUsersTargetDir=c:\\Python311  SimpleInstall=1

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

  • Pour installer les dépendances python du Poller Shinken exécuter, dans le dossier issu de l'extraction de l'archive, la commande suivante :
Code Block
languagetext
themeEmacs
c://Python311//Scripts//pip.exe install -r requirements.txt --no-warn-script-location

Remplacement des fichiers

Warning

SI C'EST UN PATCH NE PAS COPIER LE CONTEXT.JSON


Se placer à la racine de votre fichier décompressé :

Code Block
languagetext
themeEmacs
xcopy /y .\context.json C:\shinken\var\context.json



  • 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 deux sous dossiers : CherryPy-X.Y.Z, shinken, shinkensolutions, Tools ).
  • Exécuter la suite de commandes suivante :


Code Block
languagetext
themeEmacs
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

Si le python de votre Poller était en 3.11

Code Block
languagetext
themeEmacs
rmdir /s/q C:\Python311\Lib\site-packages\shinkensolutions
xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions

[Maj Python 3] Si le python de votre Poller était en 2.7

Code Block
languagetext
themeEmacs
xcopy /e/i/y .\shinkensolutions C:\Python311\Lib\site-packages\shinkensolutions
Info
titleAttention

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 :

Code Block
languagetext
themeEmacs
net start Shinken-Poller


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
languagejs
themeConfluence
#-- 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
languagetext
themeEmacs
titleAvec l'invite de commandes
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
languagetext
themeEmacs
titleAvec powershell : 
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 

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.