Contexte

Cette page a pour but de vous décrire la mise en place du pack linux-by-SNMP__shinken :

  • Le déploiement du pack sur votre plateforme,
  • La configuration de vos connexions SNMP,
  • La mise en place de pré-requis pour certains checks.

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 [ linux-by-SNMP__shinken V02.00.00-RC000.02 ]
      ========================================================
      
          -----------------------------
          |   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:
      
              => Installing probes
                    - Path : /var/lib/shinken-user/libexec/shinken-additional-packs/linux-by-SNMP__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 déja PRÉSENT dans votre Synchronizer ( par exemple : première fois que vous utilisez un installeur de pack Shinken ) :

    Vérifier dans la configuration de votre Synchronizer ( /etc/shinken/synchronizers/synchronizer-master.cfg ) que le collecteur "shinken-additional-packs-import" soit présent dans le champ sources.

    cat /etc/shinken/synchronizers/synchronizer-master.cfg
    define synchronizer {
        [...]
        sources                   Source 1, Source 2, Source 3, shinken-additional-packs-import
        [...]
    }

    Si le collecteur "shinken-additional-packs-import" n'est pas présent, l'ajouter dans la liste puis redémarrez le Synchronizer pour que le collecteur soit pris en compte :

    service-shinken-synchronizer restart

    Pour les versions de shinken strictement inferieur à V02.08.02-RC018.05, il faudra utiliser la commande suivante :

    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 première fois que vous installez le pack, il est nécessaire de faire un dernier redémarrage du Synchronizer.



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/linux-by-SNMP__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/linux-by-SNMP__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

  •  Activer le collecteur  "shinken-additional-packs-import" :

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

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

rm -rf ./linux-by-SNMP__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.

Si vous avez déjà installé une version précédente de ce pack, il vous faudra supprimer les anciens dossiers dans lesquels le pack était présent ( afin d'éviter de garder d'ancien fichier en cas d'évolution de la structure du pack ).

Pour supprimer ces dossiers, utilisez la commande suivante :

rm /etc/shinken/sources/shinken-additional-packs-import.cfg
rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/
rm -rf /var/lib/shinken-user/libexec/linux-by-SNMP__shinken/

Comment configurer la connexion SNMP ?

Pour l'exécution correcte des commandes du pack linux-by-SNMP__shinken, vous aurez besoin d'installer, d'activer ou de paramétrer le serveur SNMP sur la machine linux supervisée.

Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie.


Il faudra en premier lieu définir les méthodes de connexion sur les machines Linux supervisées :

  • SNMPv3 : pour utiliser les modèles d'hôtes linux-by-SNMPv3__( noAuthNoPriv / authNoPriv / authPriv ), il faudra définir :
    • un utilisateur, un mot de passe, une clé de chiffrement pour cet utilisateur, un protocole de chiffrement pour celui-ci et une méthode de hashage pour ses informations.
    • Des données sont prévues à cet effet.
  • SNMPv2 : pour utiliser les modèles d'hôtes linux-by-SNMPv1v2, il faudra définir :
    • une communauté.
    • Des données sont prévues à cet effet.

Nous conseillons l'utilisation d'un utilisateur spécifique ( pour le service de supervision ).

Côté du serveur Linux supervisé ( configurer le SNMP ) 

Pour savoir comment configurer SNMP sur les équipements à superviser, voir la page Configuration du serveur Linux supervisé via le pack linux-by-SNMP__shinken.

Côté serveur Poller

Une configuration est nécessaire seulement si vous avez plusieurs Pollers dans un même royaume.

  • En effet, les checks ont la nécessité de stocker des fichiers temporaires d'une exécution sur l'autre.
  • mais comme le même check peut être exécuté sur le Poller 1 et en suivant sur le Poller 2, il est nécessaire que les 2 Pollers puissent accéder chacun au même fichier temporaire.

Créer un espace partagé où seront stockés les fichiers temporaires générés lors de l'exécution des sondes permet d'éviter toute perte de donnée.

  • Une fois un dossier partagé créé, par exemple /shared-folder, modifiez la variable LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH avec le chemin du dossier partagé.

Côté interface de configuration

Modèle d'hôtes linux-by-SNMPv1v2

NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
_LINUX-BY-SNMP__V1V2-COMMUNITY

l'Hôte

( Onglet Données )

--public public

La Communauté SNMP v1/v2 défini sur votre linux :

  • En SNMP v1/v2, la communauté est un équivalent à un ID ou à un mot de passe pour se connecter aux équipements.

Modèle d'hôtes linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv )

Commun à tout les modes de connexion
NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
_LINUX-BY-SNMP__V3-LOGIN

l'Hôte

( Onglet Données )

--shinken shinken

Un nom d'utilisateur SNMPv3 défini sur votre linux :

  • Un nom unique qui identifie l'utilisateur SNMPv3.
linux-by-SNMPv3__noAuthNoPriv

Pas de données communes supplémentaires pour ce mode de connexion

linux-by-SNMPv3__authNoPriv
NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
_LINUX-BY-SNMP__V3-PROTOCOL-AUTH

l'Hôte

( Onglet Données )

--sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3.
_LINUX-BY-SNMP__V3-PASSPHRASE-AUTH

l'Hôte

( Onglet Données )

--shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3.
linux-by-SNMPv3__authPriv
NomModifiable surUnitéDéfautValeur par défaut à l'installation du packDescription
_LINUX-BY-SNMP__V3-PROTOCOL-AUTH

l'Hôte

( Onglet Données )

--sha sha Protocole utilisé pour vérifier l'authenticité des messages SNMPv3.
_LINUX-BY-SNMP__V3-PASSPHRASE-AUTH

l'Hôte

( Onglet Données )

--shinkenpassword shinkenpassword Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3.
_LINUX-BY-SNMP__V3-PROTOCOL-PRIV

l'Hôte

( Onglet Données )

--aes aes

Protocole utilisé pour chiffrer les données SNMPv3.

_LINUX-BY-SNMP__V3-PASSPHRASE-PRIV

l'Hôte

( Onglet Données )

--shinkencryptionkey shinkencryptionkey

Chaîne secrète utilisée pour chiffrer et déchiffrer les données SNMPv3.

Données communes
NomModifiable surUnitéDéfautValeur par défaut à l'installationDescription
LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH

l'Hôte

( Onglet Données )

--/tmp /tmp Chemin absolu où sera créé le dossier LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME.
LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME


l'Hôte

( Onglet Données )

--shinken shinken Nom de dossier temporaire où seront stockés les fichiers temporaires générés par les sondes.
Ne peut contenir uniquement des caractères alphanumériques, slash, antislash, espace, guillemet simple et double, tiret et tiret du bas.

Désinstaller le pack avec "uninstall.sh"

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

cd linux-by-SNMP__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 [ linux-by-SNMP__shinken V02.00.00-RC000.02 ]
==========================================================

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

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

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

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

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


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

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


==========================================================
PACK [ linux-by-SNMP__shinken V02.00.00-RC000.02 ] 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 .

Erreurs lors de l'utilisation du pack

Pour toute erreur survenue lors de l'exécution des checks, voir la page Erreurs communes du pack linux-by-SNMP__shinken.