| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Cette page a pour objectif de décrire la mise en place du pack iDRAC-by-SNMP__shinken :
Le déploiement du pack sur la plateforme (sur le Synchronizer et sur le ou les Pollers),
La configuration des prérequis nécessaires à l’exécution des checks.
L'installation du pack sur l'infrastructure Shinken
Installation de dépendance : VENV__plugins-packs__shinken
En préambule, il faut :
- Récupérer la dernière version du pack contenant le VENV auprès de l'équipe Shinken,
- Transférer le pack sur le Synchronizer et le ou les Pollers.
L'installation de l'environnement virtuel s'effectue en deux étapes.
Récupérer l'archive tar.xz de l'environnement virtuel
Chaque pack requiert une version minimale de l'environnement virtuel pour fonctionner. Les versions sont rétrocompatibles. Il est donc recommandé de toujours utiliser la dernière version disponible de l'environnement virtuel.
| Pack | Environnement virtuel minimum |
|---|---|
| iDRAC-by-SNMP | V02.00.00 |
Décompresser l'archive tar.xz de l'environnement virtuel sur tous les serveurs Shinken avec un poller ou synchronizer et lancer l'installation.
Décompresser l'archive sur les serveurs Shinken
| Code Block | ||
|---|---|---|
| ||
tar -xJf VENV__plugins-packs__shinken__VXX.XX.XX__Linux-<distrib>.tar.xz |
Rentrer dans le répertoire créé à la suite de la décompression, et exécuter le script d'installation.
| Code Block | ||
|---|---|---|
| ||
cd VENV__plugins-packs__shinken__VXX.XX.XX__Linux-<distrib> ./install-venv.sh |
Mise en place du pack avec l'installeur "install.sh" ( sur Poller / Synchronizer )
Commun à tout Poller / Synchronizer
Que ce soit sur un Synchronizer ou sur un Poller :
Désarchiver le pack :
Code Block language text theme Emacs tar --no-same-owner -xf NOM_DU_PACK.tar.xz
Entrer dans le répertoire extrait de l'archive et lancer le "install.sh"
Code Block language text theme Emacs cd NOM_DU_PACK/ ./install.sh
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 :
| Code Block | ||||
|---|---|---|---|---|
| ||||
========================================================
PRE-INSTALLATION CHECKS
========================================================
No previous installation detected. Proceeding with installation...
========================================================
CHECKING PACK LIBRARIES:
========================================================
- PYTHON VENV
~~~~~~~~~~~~~~~~~~
=> Location [/var/lib/shinken-user/libexec/shinken-additional-packs/.VENV-python-packs__shinken]
=> REQUIRED : V02.00.00
- Currently installed Venv version : V02.00.00
=> NOTHING TO DO.
========================================================
INSTALL PACK [ iDRAC-by-SNMP__shinken V01.01.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:
=> Installing probes
- Path : /var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-by-SNMP__shinken
- Setting owner ( to "shinken" user )
- Setting rights
======================================================== |
| Note | ||
|---|---|---|
| ||
Si une version du pack est déjà installée, elle doit être désinstallée avant d’installer la nouvelle version. L’installeur vérifiera automatiquement si l’ancienne version a été correctement supprimée et vous avertira si ce n’est pas le cas. |
| Code Block | ||||
|---|---|---|---|---|
| ||||
========================================================
PRE-INSTALLATION CHECKS
========================================================
ERROR: Previous installation detected!
The following files/folders from a previous installation were found:
- /var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-by-SNMP__shinken
- /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/iDRAC-by-SNMP__shinken
- /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken
- /etc/shinken/resource.d/shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken
Please run './uninstall.sh' before installing the pack.
Installation ABORTED.
WARNING: Uninstallation will remove all installed config files ( .cfg ).
This step is required for installing this new pack version.
All manual changes to the present config files will be lost. This doesn't affect shinken Staging or Production environment. |
Sur le Synchronizer
SEULEMENT si le collecteur "shinken-additional-packs-import" n'est pas déjà 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.Code Block language text theme Emacs cat /etc/shinken/synchronizers/synchronizer-master.cfg
Code Block language js theme Confluence 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 :
Section Code Block language text theme Emacs service-shinken-synchronizer restart
Note icon false Pour les versions de Shinken strictement inférieures à V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restart
Activer le collecteur "shinken-additional-packs-import" si ce n'est pas déjà fait.
Panel Lancer l'import du collecteur "shinken-additional-packs-import" :
Panel - En suivant, vous devrez peut-être accepter soit des nouveautés, soit des différences qui seraient liées à ce pack ( en fonction de l'évolution du pack ).
- En suivant, vous devrez peut-être accepter soit des nouveautés, soit des différences qui seraient liées à ce pack ( en fonction de l'évolution du pack ).
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.
Section Code Block language text theme Emacs service-shinken-synchronizer restart
Note icon false Pour les versions de Shinken strictement inférieures à V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restart
Mise en place du pack manuellement ( si l'utilisation du script install.sh n’est pas souhaitée ) :
Commun à tout Poller / Synchronizer
Si le pack est déjà installé
Il est recommandé de supprimer les anciens dossiers contenant le pack afin de garantir l'utilisation de la dernière version des fichiers livrés.
Pour effectuer cette suppression ( si la procédure d'installation manuelle a été suivie telle quelle ), la commande suivante peut être utilisée :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf /var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-by-SNMP__shinken rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/iDRAC-by-SNMP__shinken rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken rm -rf /etc/shinken/resource.d/shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken |
Extraire le pack
Transférer le fichier du pack sur la machine et décompresser le fichier contenant le pack à l'aide de la ligne de commande ci-dessous (remplacer "PACK__shinken__NOM-DU-PACK__VERSION__OS.tar.xz" par le nom exact du pack livré) :
- Pour Linux ( le paramètre --no-same-owner permet de ne pas conserver les attributs d'utilisateurs/rôles présents lors de la création du pack ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
tar -xvf --no-same-owner PACK__shinken__NOM-DU-PACK__VERSION__linux.tar.xz -C ./ |
- Pour Windows ( Rôle de Poller ) :
| Code Block | ||||
|---|---|---|---|---|
| ||||
tar -xvf PACK__shinken__NOM-DU-PACK__VERSION__windows.tar.xz -C ./ |
Entrer dans le répertoire créé :
| Code Block | ||||
|---|---|---|---|---|
| ||||
cd NOM_DU_PACK/ |
Les sondes ( mises en place )
On place les sondes :
| Code Block | ||||
|---|---|---|---|---|
| ||||
probe_path="/var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-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, il est nécessaire de placer les définitions des éléments de supervision du pack au bon endroit.
- Les fichiers de configuration :
Il est recommandé de créer un collecteur de type cfg-file-import, qui permet d'importer des définitions d'éléments Shinken à partir des fichiers .cfg fournis dans le pack.
La procédure de mise en place de ce type de collecteur est disponible dans la documentation à la page : ( Collecteur de type ( cfg-file-import ) - Import depuis des fichiers au format .cfg )
- Dans la suite de cette documentation, ce collecteur sera nommé "shinken-additional-packs-import"
Une fois le collecteur mis en place, le pack peut être déployé à l’emplacement attendu :
En premier, les fichiers de définition des éléments ( modèles d'hôtes, checks, commandes, ... ) du pack :
Code Block language text theme Emacs 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
Code Block language text theme Emacs 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 le Synchronizer
Section Code Block language text theme Emacs service-shinken-synchronizer restart
Note icon false Pour les versions de Shinken strictement inférieures à V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restart
Activer le collecteur "shinken-additional-packs-import" :
Panel Lancer l'import du collecteur "shinken-additional-packs-import",
Panel - En suivant, vous devrez peut-être accepter les nouveautés / différences qui seraient liées à ce pack ( en fonction de l'évolution du pack ).
- En suivant, vous devrez peut-être accepter les nouveautés / différences qui seraient liées à ce pack ( en fonction de l'évolution du pack ).
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.
Section Code Block language text theme Emacs service-shinken-synchronizer restart
Note icon false Pour les versions de Shinken strictement inférieures à V02.08.02-RC018.05, il faudra utiliser la commande suivante :
Code Block language text theme Emacs service shinken-synchronizer restart
Le dossier extrait lors de la décompression du pack peut également être supprimé à l’aide de la commande suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf ./PACK__iDRAC-by-SNMP__shinken__V01.01.00__Linux |
| Info |
|---|
Attention à ne pas supprimer le fichier tar.xz. Connaître la version exacte du pack livré est utile en cas de problème avec celui-ci. |
Si une version précédente du pack a déjà été installée, il est recommandé de supprimer les anciens dossiers pour éviter de conserver des fichiers obsolètes, notamment en cas de modification de la structure du pack.
Utiliser les commandes suivantes pour effectuer cette suppression :
| Code Block | ||||
|---|---|---|---|---|
| ||||
rm -rf /var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-by-SNMP__shinken rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/iDRAC-by-SNMP__shinken rm -rf /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken rm -rf /etc/shinken/resource.d/shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken |
Comment configurer SNMP ?
Pour l'exécution correcte des commandes du pack iDRAC-by-SNMP, vous aurez besoin de configurer SNMP sur la carte de gestion iDRAC du serveur physique.
Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie.
- D'une part, du côté de l'architecture Shinken, l'exécution des checks ( plus exactement les sondes ) est réalisée par les Pollers, en tant qu'utilisateur "shinken".
- C'est depuis les pollers que les appels SNMP sont effectués en direction de la carte de gestion iDRAC.
- D'autre part, du côté des serveurs physiques à superviser,
- La supervision s'effectue par le biais de la carte de gestion iDRAC ( qui dispose d'un accès spécifique aux informations sur la santé physique du serveur ).
- Le moteur SNMP de la carte de gestion répond aux appels de Shinken.
- Pour obtenir une réponse, Shinken doit fournir les informations de connexion attendues par la carte de gestion, en fonction des configurations effectuées sur celle-ci.
Côté client ( Carte de gestion iDRAC )
La configuration SNMP s'effectue directement sur l'interface d'administration de la carte de gestion. En fonction de la version de SNMP utilisée, les informations à renseigner vont différer ( En fonction du modèle Shinken utilisé, des données permettent d'indiquer l'ensemble des informations pour que la sonde puisse contacter la carte de gestion iDRAC ) :
- SNMP V1 et V2 ( Connexion avec mot de passe unique ) :
- Communauté SNMP
- SNMP V3 ( Connexion avec mot de passe et protocoles de chiffrement ) :
- NoAuthNoPriv ( pas d'authentification )
- Utilisateur SNMP
Warning Cette version SNMP ne dispose d'aucun mécanisme de sécurité, il est recommandé de ne pas l'utiliser
- AuthNoPriv ( authentification sans chiffrement )
- Utilisateur SNMP
- Protocole d'authentification
- Mot de passe d'authentification
- AuthPriv ( authentification avec chiffrement )
- Utilisateur SNMP
- Protocole d'authentification
- Mot de passe d'authentification
- Protocole de chiffrement
- Mot de passe de chiffrement
- NoAuthNoPriv ( pas d'authentification )
| Info |
|---|
La version SNMPv3 AuthPriv est de loin la version la plus sécurisée proposée par SNMP. Elle permet de chiffrer les échanges entre le Shinken et la carte de gestion iDRAC, pour empêcher la donnée d'être interceptée. Il est fortement recommandé d'utiliser cette version. |
Côté serveur Poller
Tester la configuration SNMP v1 ou v2
| Excerpt | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Tester la configuration SNMPv3
Dans le cas de SNMPv3, la liste des arguments de la commande est plus exhaustive, mais tous ne sont pas forcément nécessaires suivant le mode de connexion configuré.
Remplacer ou enlever :
- IP-CARTE-IDRAC par l'adresse IP de la carte iDRAC du serveur ciblé
- USER-NAME par le nom d'utilisateur
- CONTEXT par le contexte SNMP ( optionnel ),
- LEVEL par le niveau de sécurité configuré pour la connexion SNMPv3 ( noAuthNoPriv | authNoPriv | authPriv ),
- AUTH_PROTOCOL par le protocole d'authentification utilisé ( à utiliser dans le cas du niveau authNoPriv et authPriv ) ,
- AUTH_PASSPHRASE par le mot de passe lié au protocole d'authentification ( à utiliser dans le cas du niveau authNoPriv et authPriv ),
- PRIV_PROTOCOL par le protocole de confidentialité utilisé pour la connexion SNMPv3 ( à utiliser dans le cas du niveau authPriv ),
- PRIV_PASSPHRASE par le mot de passe lié au protocole de confidentialité ( à utiliser dans le cas du niveau authPriv ),
- SECU_ENGINE-ID par l'lD ID de sécurité ( optionnel ),
- CONTEXT_ENGINE-ID par l'ID du contexte ( optionnel ),
| Code Block | ||||
|---|---|---|---|---|
| ||||
[root@shinken-poller ~]# snmpwalk -v3 IP-CARTE-IDRAC -u USER-NAME -n CONTEXT -l LEVEL -a AUTH_PROTOCOL -A AUTH_PASSPHRASE -x PRIV_PROTOCOL -X PRIV_PASSPHRASE -e SECU_ENGINE-ID -E CONTEXT_ENGINE-ID |
Exemple de résultat
Une liste de valeurs doit défiler à l'écran pour valider la bonne connexion ( l'exemple ci-dessous était dans le cadre d'une connexion SNMPv3 ).
| Code Block | ||||
|---|---|---|---|---|
| ||||
$ snmpwalk -v3 -l authPriv 1.2.3.4 -u MyUser -a MD5 -A Password1 -x DES -X Password2 SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System SoftwareIOS (tm) MSFC Software (C6MSFC-JS-M), Version 12.0(7)XE1, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)TAC:Home:SW:IOS:Specials for infoCopyright (c) 1986-2000 by cisco Systems, Inc.Compiled Thu 03-Feb-00 23: SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.258 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19974) 0:03:19.74 SNMPv2-MIB::sysContact.0 = STRING: admin SNMPv2-MIB::sysLocation.0 = STRING: server-room SNMPv2-MIB::sysServices.0 = INTEGER: 78 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00 IF-MIB::ifNumber.0 = INTEGER: 13 IF-MIB::ifIndex.2 = INTEGER: 2 ... |
Côté interface de configuration
Modèle d'hôtes iDRAC-by-SNMP__base__shinken
| Excerpt Include | ||||||
|---|---|---|---|---|---|---|
|
Désinstaller le pack avec "uninstall.sh"
Entrer dans le répertoire extrait de l'archive et lancer le "uninstall.sh".
| Code Block | ||||
|---|---|---|---|---|
| ||||
cd PACK__iDRAC-by-SNMP__shinken__V01.0001.00__Linux && ./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 touche pas aux éléments que vous avez absorbés dans le Synchronizer.
| Code Block | ||||
|---|---|---|---|---|
| ||||
==========================================================
UNINSTALL PACK [ iDRAC-by-SNMP__shinken V01.01.00 ]
==========================================================
-----------------------------
| MONITORING DEFINITION:
=> Deleting pack monitoring definition folder
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/iDRAC-by-SNMP__shinken
=> Deleting pack monitoring definition file
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/packs/iDRAC-by-SNMP__shinken.pack
=> Deleting pack monitoring globaldata folder
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken
=> Deleting shinken pack globaldata folder
- Path : /etc/shinken/resource.d/shinken-additional-packs-import/global-data/iDRAC-by-SNMP__shinken/
-----------------------------
| PROBES:
=> Deleting probes
- Path : /var/lib/shinken-user/libexec/shinken-additional-packs/iDRAC-by-SNMP__shinken
==========================================================
PACK [ iDRAC-by-SNMP__shinken V01.01.00 ] SUCCESSFULLY UNINSTALLED
========================================================== |
| Info |
|---|
À noter : vous devrez retirer les éléments importés dans le Synchronizer ( modèles d'hôtes, checks, ... ) via les actions de masse. |
...

