Contexte
Architecture
| Panel | ||
|---|---|---|
|
Installation
Récupération et extraction des données
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. (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:
- 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
- Copier le répertoire "shinken" vers C:\shinken
- Copier tools\srvany.exe dans c:\shinken\srvany\ [remplacer le fichier]
- Copier context.json dans c:\shinken\var [remplacer le fichier]
Installation du service Automatique Windows
Ouvrir une commande DOS en Administrateur puis exécuter la commande :
- 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 :
Mise à jour
Stopper le daemon poller:
- net stop Shinken-Poller
Afin de mettre à jour une ancienne installation, il est nécessaire de mettre à jour une nouvelle dépendance qui n'était pas installée à l'origine:
- psutil-5.2.1.win-amd64-py2.7.exe
De plus, il faut placer le fichier context à son emplacement:
- Copier context.json dans c:\shinken\var [remplacer le fichier]
- Ouvrir avec le bloc note C:\shinken\var\context.json et modifier la valeur current_version par la version de votre installation - par exemple : 02.04.00-137.fr
Il faut supprimer l'ancien code de Shinken en supprimant le dossier suivant:
- 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:
- 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).
Relancer le daemon avec:
- 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 #-- 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:
- Les étapes de mise en place
Pour cet exemple, basé sur le schéma ci dessus, la supervision de l'hôte H1 du réseau isolé doit envoyer l'information en central, sur le même nom de d'hôte H1 (miroir).
Mise en place de l'architecture Shinken sur le réseau isolé
- Installez Shinken Entrprise
- Mettez en place la surveillance de l'hôte H1 avec une commande de supervision, par exemple la commande check-host-alive
- Créez la commande qui enverra l'information au Receiver du réseau Shinken central, depuis l'interface de configuration - page des commandes :
Dans notre exemple, pour un objet hôte, créons par exemple la commande ( dans l'interface de configuration ) ayant le nom "envoi-statut-hote" et avec la ligne de commande :
| Code Block |
|---|
curl -d "host_name=$HOSTNAME$&return_code=$SERVICESTATEID$" --data-urlencode "output=Statut de l hote recupere" http://IP-RECEIVER-CENTRAL:7760/push_check_result |
Si on doit effectuer l'envoi du statut d'un check, voici l'exemple de la commande ayant le nom "envoi-statut-check" et avec la ligne de commande :
| Code Block |
|---|
curl -d "host_name=$HOSTNAME$&service_description=$SERVICEDESC$&return_code=$SERVICESTATEID$" --data-urlencode "output=Statut du check recupere" http://IP-RECEIVER-CENTRAL:7760/push_check_result |
Paramétrage sur le réseau Central
- Configuration
- Paramétrez votre module ws-arbiter
- pensez bien à l'appeler depuis la définition de votre Receiver dans la propriété module.
- Redémarrez Shinken pour la prise en compte du module.
- Créez l'hôte H1 (attention, le nom doit être exactement le même que celui défini dans l'architecture Shinken du réseau isolé)
Et voila, à chaque changement d'états de l'hôte H1 du réseau isolé, la commande "envoi-statut-hote" sera lancée, et mettra à jour l'hôte de même nom sur le réseau central.
Troubleshoot
Commande manuelle
Pour tester le bon fonctionnement du module ws-arbiter, vous pouvez exécuter simplement cette commande depuis un terminal :
| Code Block |
|---|
curl -d "host_name=mon_hote&return_code=0" --data-urlencode "output=Statut OK" http://IP-DU-RECEIVER:7760/push_check_result |
Vérifiez alors que l'état de votre hôte depuis l'interface de visualisation de votre réseau Shinken Central a bien été modifié.
Réseau
Au minimum, pour faire communiquer les deux infrastructures, il faut autoriser une communication entre l'IP hébergeant le daemon Reactionner (port 7769) qui enverra les commandes d'Event Handler, et l'IP hébergeant le daemon Receiver (port 7773) à l'écoute des commandes
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 entres 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.


