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
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.

panel

Installation

titleSommaire

Table of Contents

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
titleAttention

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 ).

Installations des dépendances

Afin de mettre en place le Poller il faut installer les dépendances suivantes ( contenues à la racine du dossier ):

  • python-2.7.6.amd64.msi [ à installer en premier ]
  • pywin32-217.win-amd64-py2.7.exe
  • pycurl-7.19.3.1.win-amd64-py2.7.exe
  • egenix-pyopenssl-0.13.3.1.0.1.6.win-amd64-py2.7.msi
  • psutil-5.2.1.win-amd64-py2.7.exe

Note : laisser les chemins d'installations par défaut

Installation manuelle:

Installation de CherryPy-3.2.4

Depuis l'explorateur de fichiers Windows :

  • Ouvrir une commande DOS en Administrateur
  • Se déplacer dans le répertoire CherryPy-3.2.4 
  • Exécuter la commande c:\python27\python.exe setup.py install
Depuis

Installation du Poller Shinken

Soit avec l'explorateur Windows :
  • Copier le répertoire "shinken" vers C:\shinken
  • Copier le répertoire "shinkensolutions" vers C:\Python27\Lib\site-packages
  • Copier tools\srvany.exe dans c:\shinken\srvany\ [ remplacer le fichier existant ]
  • Copier context.json dans c:\shinken\var\ var  [ remplacer le fichier exitant ]
Soit avec la ligne de commande (Conseillée):
  • 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 :


Code Block
xcopy /e/i/y .\shinken C:\shinken
xcopy /e/i/y .\shinkensolutions C:\Python27\Lib\site-packages\shinkensolutions
xcopy /y .\Tools\srvany.exe C:\shinken\srvany\srvany.exe
xcopy /y .\context.json C:\shinken\var\context.json



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

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

    sur la ligne du service Shinken-Poller de la console MMC ou par la commande :

    Code Block
    net start Shinken-Poller
  • Vérifier qu'il est lancé avec :
    • 1/ le log C:\shinken\var\pollerd.log.DATE
    • 2/ le port 7771 qui doit être ouvert, vous pouvez le vérifier à l'aide de la

      commande netstat

      commande :

      Code Block
       netstat -an


    • 3/ 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

Mise à jour

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
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 remplacements 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\ ).

Remplacement des fichiers

Info

À APPLIQUER QUE SI ÇA N'EST PAS UN PATCH
Copiez le fichier context.json (qui se trouve à la racine de votre dossier décompressé)

dans c

dans :

c:\shinken\var\    [ remplacer le fichier existant ]

Il faut supprimer l'ancien code de Shinken en supprimant le dossier suivant:

Commande :

xcopy /y .\context.json C

c

:\shinken\

shinken
ATTENTION: il ne faut PAS supprimer le répertoire c:\shinken en entier, mais seulement le répertoire "shinken" à l'intérieur.

Il faut placer le nouveau code shinken:

var\context.json

Depuis la ligne de commande :

  • 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 :


Code Block
rmdir /s/q C:\shinken\shinken
xcopy /e/i/y .\shinken\shinken C:\shinken\shinken
rmdir /s/q 
  • windows - XXX\shinken\shinken à copier dans c:\shinken\shinken
  • Vérifier que le fichier c:\shinken\shinken\daemon.py est bien présent (pour vérifier que les répertoires sont au bon endroit).
Faite de même pour le répertoire shinkensolutions dans 
C:\Python27\Lib\site-packages
Vérifiez que le fichier 
\shinkensolutions
xcopy /e/i/y .\shinkensolutions C:\Python27\Lib\site-packages\shinkensolutions
\vmguestlib.py est bien présent
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 potentiellement 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
net start Shinken-Poller

Troubleshooting

Configuration SSL

Pour paramétrer le démon 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, ouvrir une commande DOS en Administrateur et tester le démarrage en exécutant la commande:

Code Block
c:\Python27\python.exe 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.

Erreur à l'installation de pywin32-217.win-amd64-py2.7.exe

Si à la fin de l'installation vous avez ce message d'erreur :

Code Block
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr
Panel

Image Modified


Il faut faire l'installation depuis une invite de commande Windows :

  • Allez dans le dossier ou se trouve l'exécutable
  • Lancer la commande suivante en modifiant si besoin le compte :

    Code Block
    runas /user:administrateur pywin32-217.win32win32win-amd64-py2.7.exe
    • Mettre le mot de passe du compte
  • L'écran d'installation se lance et l'erreur n'apparait plus