Contexte

Il est avantageux d'avoir un démon Poller disponible directement sous Windows, car cela permet d'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é, évitant ainsi la nécessité d'un login/password pour la requête.

  • Dans un environnement Active Directory (AD), 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.
  • Le Poller pourra alors être configuré ( propriété poller_tags )  pour récupérer du Scheduler uniquement des checks exécutables depuis le serveur Windows.


Mise à jour

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

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

Mise à jour de Shinken

  • Ouvrir un shell en administrateur ( l'invite de commande "cmd" ou PowerShell )
  • Se rendre dans le dossier issu de l'extraction de l'archive avec la commande cd
  • Lancer la commande suivante : 

    • Avec PowerShell 

      ./update.cmd
    • Avec l'invite de commande ( cmd )  

      update.cmd

Vérification la mise à jour du Poller

  • Le fichier C:\shinken\var\pollerd.log.DATE doit exister.
  • Le port 7771 doit être ouvert. Lancer la commande suivante :  
    • Avec PowerShell 

      netstat -an | Select-String 7771
       TCP    0.0.0.0:7771           0.0.0.0:0              LISTENING


    • Avec l'invite de commande ( cmd )  

      netstat -an | find "7771"
       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 : 

#-- HTTPS  configuration --


Il est possible d'activer le SSL et paramétrer les certificats.

Démarrage manuel du Poller - pour test

 Si le service "Shinken-Poller" ne démarre pas, pour "débugger", il est possible de lancer manuellement le Poller sous Windows :


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 



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 l'architecture Shinken et 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 la configuration, la résolution de nom doit aussi permettre au Poller Windows de communiquer avec les autres démons et inversement.

Droits

Lors des installations, 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.