Contexte

Cette page a pour but de vous décrire la mise en place du pack docker-by-SSH__shinken, en deux étapes :

  • L'installation du pack sur l'infrastructure Shinken :
    • Installation de l'environnement virtuel Python sur les pollers.
    • Installation du pack sur les pollers et le serveur central.
    • Import des nouveaux éléments ( Modèles d'hôtes, Commandes, check appliqués aux modèles d'hôtes, etc ... ) dans l'interface de configuration.
  • La configuration SSH sur le ou les serveurs Linux qui herbergent un Docker à superviser.
    • Création d'un utilisateur sur les serveurs linux avec les droits adaptés.
    • Récupération et dépôt des clés SSH des pollers Shinken dans le répertoire du nouvel l'utilisateur.

L'installation du pack sur l'infrastructure Shinken

Installation de l'environnement virtuel Python sur les pollers

Pour que les commandes du pack docker-by-SSH__shinken puisse s'exécuter, il faut installer un environnement virtuel Python sur les serveurs Shinken.

Pourquoi utiliser l'environnement virtuel de Shinken ?

Pour s'executer, les sondes développé en Python ont besoin de certaines dépendances pour s'exécuter.

Chaque sonde requière des dépendances différentes pour fonctionner, directement liées au rôle quelle devront remplir. Par exemple, une sonde qui se connecte avec WinRM et une sonde qui se connecte avec SSH n'utiliseront pas les mêmes dépendances.


L'environnement virtuel fourni par Shinken emporte toutes les dépendances nécessaire à l'exécution des sondes. Il évite aux utilisateurs de devoir les installer manuellement sur chaque serveur Shinken.  

Attention, sans l'environnement virtuel, l'installation du pack docker-by-SSH ne pourra pas être effectué.

Comment installer l'environnement virtuel de Shinken ?

L'installation de l'envrionnement virtuel s'effectue en deux étapes :


Récupérer l'archive tar.xz de l'environnement virtuel

Chaque pack recquière une version minimale du venv pour fonctionner. Les versions sont rétrocompatibles. Il est recommandé de toujours utiliser la dernière version disponible de l'environnement virtuel.

PackEnvironnement Virtuel minimum
docker-by-SSH__shinkenV01.00.02


décompressez l'archive tar.xz de l'environnement virtuel sur tous les serveurs Shinken avec un poller ou un synchronizer et lancer l'installation

Décompresser l'archive sur les serveurs Shinken

tar -xJf VENV__plugins-packs__shinken__VXX.XX.XX__Linux.tar.xz

Rentrer dans le répertoire créé à la suite de la décompression, et exécuter le script d'installation

cd VENV__plugins-packs__shinken__VXX.XX.XX__Linux
./install-venv.sh

Procédure de mise en place du pack

En préambule, il faut :

  1. récupérer la dernière version du pack auprès de l'équipe Shinken ou de votre partenaire,
  2. Transférer le pack sur votre Synchronizer et votre/vos Pollers.

En utilisant l'installeur "install.sh" ( sur Poller / Synchronizer )

Commun à tout Poller / Synchronizer

Que ce soit sur un Synchronizer où sur un Pollers :

  1. Désarchiver le pack :

    tar --no-same-owner -xf NOM_DU_PACK.tar.xz
  2. Entrée dans le répertoire extrait de l'archive et lancer le "install.sh"

    cd NOM_DU_PACK/
    ./install.sh
  3. L'installeur dépose les éléments suivants :

    • Le fichier de configuration de la source "shinken-additional-packs-import" qui servira à importer la définition du pack dans le Synchronizer.
    • Les fichiers de définitions des éléments du pack, à importer dans le Synchronizer.
    • Les sondes du pack.

      Exemple de mise en place :

      ========================================================
      INSTALL PACK [ docker-by-SSH__shinken v01.00.00 ]
      ========================================================
      
          -----------------------------
          |   COLLECTOR [ shinken-additional-packs-import ]
      
              => Collector cfg file already AVAILABLE
                    - Path : /etc/shinken/sources/shinken-additional-packs-import.cfg
      
              => Collector DATA space already AVAILABLE
                    - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
      
              => Definition File already AVAILABLE [ definition_shinken-additional-packs-import.cfg ]
                    - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/definition_shinken-additional-packs-import.cfg
      
              => Applying permissions
                    - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
                    - Setting owner ( to "shinken" user )
                    - Setting rights
      
          -----------------------------
          |   MONITORING DEFINITION:
      
              => Installing definitions file in source-data folder ( Collector => shinken-additional-packs-import )
                    - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
                    - Setting owner ( to "shinken" user )
                    - Setting rights
      
              => Installing global data definitions file in SHINKEN directory ( => resource.d )
                    - Path : /etc/shinken/resource.d/shinken-additional-packs-import/
                    - Setting owner ( to "shinken" user )
                    - Setting rights
      
          -----------------------------
          |   PROBES:
      
              => Deleting previous probes
                    - Path : /var/lib/shinken-user/libexec/shinken-additional-packs/docker-by-SSH__shinken
              
      		=> Installing probes
                    - Path : /var/lib/shinken-user/libexec/shinken-additional-packs/docker-by-SSH__shinken               
      			  - Setting owner ( to "shinken" user )
                    - Setting rights
         
En suivant, spécifiquement sur le Synchronizer
  1. SEULEMENT si le collecteur "shinken-additional-packs-import" n'est pas PRESENT déja dans votre Synchronizer ( par exemple : première fois que vous utilisez un installeur de pack Shinken ) :

    Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sources du fichier  /etc/shinken/synchronizers/synchronizer-master.cfg.

    define synchronizer {
        [...]
        sources                   Source 1, Source 2, Source 3, shinken-additional-packs-import
        [...]
    }

    et en suivant, redémarrez le Synchronizer pour que le collecteur soit pris en compte :

    service shinken-synchronizer restart



  2.  Activer le collecteur "shinken-additional-packs-import" si ce n'est pas déja fait.

  3. Lancer l'import du collecteur "shinken-additional-packs-import":


    • En suivant, vous devrez peut-être accepter ou des nouveautés ou des différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).

  4. IMPORTANT : si c'est la première fois que vous installez le pack, il est nécessaire de faire un dernier redémarrage du Synchronizer.

    service shinken-synchronizer restart



Ou manuellement ( si ne vous voulez pas utiliser l'install.sh )

Commun à tout Poller / Synchronizer
Si vous avez déjà installé le pack

Nous vous conseillons de supprimer les anciens dossiers dans lesquels le pack était présent, pour être sûr d'avoir la dernière version de tous les fichiers livrés.

Pour supprimer ces dossiers, utilisez la commande suivante ( si vous avez suivi à la lettre la procédure d'installation manuelle ) :

rm -rf /var/lib/shinken-user/libexec/shinken-additional-packs/docker-by-SSH__shinken
Extraire le pack

Transférer sur votre machine et décompressez le fichier contenant le pack à l'aide de la ligne de commande ci-dessous ( en remplaçant "PACK__shinken__NON-DU-PACK__VERSION__OS.tar.gz" par le nom du pack qui vous est livré.

  • Pour Linux  ( le paramètre --no-same-owner permet de ne pas conserver les attributs d'utilisateurs/roles présent de la création du pack  ) :
tar -xjfv --no-same-owner PACK__NOM-DU-PACK__shinken__VERSION__linux.tar.xz -C ./
  • Pour Windows ( Rôle de Poller ) :
tar -xvzf PACK__NOM-DU-PACK__shinken__VERSION__windows.tar.gz -C ./

Entrez dans le répertoire créér :

cd NOM_DU_PACK/
Les sondes ( mises en place )

On place les sondes :

probe_path="/var/lib/shinken-user/libexec/shinken-additional-packs/docker-by-SSH__shinken"
mkdir --parents $probe_path
cp -r ./probes/* $probe_path
chown -R shinken:shinken $probe_path
chmod -R 750 $probe_path
Sur le Synchronizer

Ensuite, plaçons maintenant la définition des éléments de supervision du pack au bon endroit :

  • Les fichiers de configuration :
    • Nous vous conseillons de créer un Collecteur de type ( cfg-file-import ) qui permet d'importer des définitions d'éléments Shinken depuis les fichiers de définitions présents dans ce pack.
    • Une fois le collecteur mis en place, nous allons déployer le pack au bon endroit :

      • En premier, les fichiers de définition des éléments ( modèles d'hôtes, checks, commandes, ... )  du pack :

        shinken_collector_data_path="/etc/shinken-user/source-data/source-data-shinken-additional-packs-import"
        cp -r ./monitoring-definitions/packs/* $shinken_collector_data_path
        chown -R shinken:shinken $shinken_collector_data_path
        chmod -R 744 $shinken_collector_data_path
      • Ensuite, les données globales

        shinken_pack_globaldata_path="/etc/shinken/resource.d/shinken-additional-packs-import"
        mkdir --parents $shinken_pack_globaldata_path
        cp -r "./monitoring-definitions/global-data" "$shinken_pack_globaldata_path"
        chown -R shinken:shinken "$shinken_pack_globaldata_path"
        chmod -R 744 "$shinken_pack_globaldata_path"
  • Redémarrer shinken

    service shinken-synchronizer restart
  • Lancer l'import du collecteur "shinken-additional-packs-import",


    • En suivant, vous devrez peut-être accepter les nouveautés / différences qui seraient liés à ce pack ( en fonction de l'évolution du pack ).

  • IMPORTANT : si c'est première fois que vous installez le pack, il est nécessaire de faire un dernier redémarrage du Synchronizer.

    service shinken-synchronizer restart

Vous pouvez également supprimer le dossier qui a été créé suite à la décompression du pack en utilisant la commande suivante :

rm -rf ./docker-by-SSH__shinken

Attention à ne pas supprimer le tar.gz, connaître la version exacte du pack qui vous a été livré vous sera utile en cas de problème avec votre pack.

Comment configurer la connexion SSH ?

Pour l'exécution correcte des commandes du pack docker-by-SSH__shinken, vous aurez besoin d'activer l'SSH Engine sur l'instance docker supervisée.

Côté client ( Docker supervisé )

Pour savoir comment configurer l'SSH sur le docker à superviser, voir la page NEW-PAGE Configuration du Docker supervisé pour le pack docker-by-SSH__shinken.

Côté serveur Poller

Aucune configuration spécifique nécessaire sur le Poller

Côté interface de configuration

Modèle d'hôtes docker-by-SSH

NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
_DOCKER-BY-SSH__PORT              

l'Hôte

( Onglet Données )

--5000150001

Le port exposé de l'SSH Docker.

Désinstaller le pack avec "uninstall.sh"

Entrée dans le répertoire extrait de l'archive et lancer le "uninstall.sh"

cd docker-by-SSH__shinken ./uninstall.sh

Ce mécanisme va seulement enlever les fichiers mis en place lors de l'installation ( Fichier du collecteur d'import, définition des éléments de supervision, et les sondes proposées ), mais ne touchent pas aux éléments que vous avez absorbés dans le Synchronizer.


==========================================================
UNINSTALL PACK [ docker-by-SSH__shinken V01.00.00 ]
==========================================================

    -----------------------------
    |   MONITORING DEFINITION:

        => Deleting pack monitoring definition folder
              - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/docker-by-SSH__shinken

        => Deleting pack monitoring definition file
              - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/docker-by-SSH__shinken.pack

        => Deleting pack monitoring globaldata folder
              - Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/docker-by-SSH__shinken

        => Deleting shinken pack globaldata folder
              - Path : /etc/shinken/resource.d/shinken-additional-packs-import/global-data/docker-by-SSH__shinken/


    -----------------------------
    |   PROBES:

        => Deleting probes
              - Path : /var/lib/shinken-user/libexec/shinken-additional-packs/docker-by-SSH__shinken


==========================================================
PACK [ docker-by-SSH__shinken V01.00.00 ] SUCCESSFULLY UNINSTALLED
==========================================================

À noter :   Vous devrez retirer les éléments importés dans le Synchronizer ( modèles d'hôtes, checks, ... ) via les actions de masses .

Votre essai Premium est terminéVotre essai Premium est terminé