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
maxLevel3
stylenone

Contexte

Il est

intéressant

avantageux 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

sa

la 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 taggué de manière à récupérer du scheduler 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

Mise à jour

ce Poller Windows.Installation

Warning

La premi è re installation du P oller 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


Shinken Entreprise vous a transmis pour Windows est fourni sous la forme d'un fichier TAR.GZ contenant des les dossiers et exécutables qui vous permettront de procéder à l'installation d'nécessaires pour installer un Poller sur Windows.

Se Pour procéder à l'installation, il faut se connecter en tant qu'administrateur sur le serveur Windows et ensuite, et extraire ce le fichier TAR.GZ sur le serveur Windows. à la racine du disque ( 7Zip par exemple peut vous permettre permet 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

  • 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

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]
  • Copier context.json dans c:\shinken\var [remplacer le fichier]
Soit avec la ligne de commande (Conseillée):

.

Arrêt du service Shinken-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.

Mise à jour de Shinken

  • Ouvrir un shell en administrateur ( l'invite de commande "cmd" ou PowerShell )
  • Se rendre dans 
  • 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\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 

  •  cd
  • Lancer la commande suivante : 

    • Avec PowerShell 

      Code Block
      languagetext
      themeEmacs
      ./update.cmd
    • Avec l'invite de commande ( cmd )  

      Code Block
      languagetext
      themeEmacs
      update.cmd

Vérification la mise à jour du Poller

  • Le fichier

 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
     net start Shinken-Poller
  • Vérifier qu'il est lancé avec :1/ le log C:\shinken\var\pollerd.log.DATEdoit exister.
  • Le 2/ le port 7771 qui doit être ouvert, vous pouvez le vérifier à l'aide de . Lancer la commande suivante :  
    • Avec PowerShell 

       

      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

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.

    • languagetext
      themeEmacs
      netstat -an | Select-String 7771
      Code Block
      languagetext
      themeEmacs
       TCP    0.0.0.0:7771           0.0.0.0:0 

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

    • LISTENING


    • Avec l'invite de commande ( cmd )  

      Code Block
      languagetext
      themeEmacs
      netstat -an | find "7771"
      Code Block
      languagetext
      themeEmacs
       TCP    0.0.0.0:7771           0.0.0.0:0              LISTENING

Troubleshooting

Depuis le gestionnaire des services Windows, démarrez le service "Shinken-Poller" ou depuis une commande DOS en administrateur :

Code Blocknet start Shinken-Poller

Configuration SSL

Pour paramétrer le daemon en SSL, il faut modifier le fichier fichier c:\shinken\etc\daemons\pollerd-windows.ini et modifier le bloc suivant : 

Code Block
languagejs
themeConfluence
# #-- 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, ouvrir une commande DOS en Administrateur et tester le démarrage en exécutant la commande :", il est possible de lancer manuellement le Poller sous Windows :


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

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

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

Code Blockclose failed in file object destructor: sys.excepthook is missing lost sys

.

stderr
Panel

Image Removed

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.win32-py2.7.exe
    • Mettre le mot de passe du compte
  • L'écran d'installation se lance et l'erreur n'apparait plus