Cette page a pour but de vous décrire la mise en place du pack linux-by-SNMP__shinken :
En préambule, il faut :
Que ce soit sur un Synchronizer où sur un Pollers :
Désarchiver le pack :
tar --no-same-owner -xf NOM_DU_PACK.tar.xz |
Entrée dans le répertoire extrait de l'archive et lancer le "install.sh"
cd NOM_DU_PACK/ ./install.sh |
L'installeur dépose les éléments suivants :
Les sondes du pack.
Exemple de mise en place :
========================================================
INSTALL PACK [ linux-by-SNMP__shinken V01.01.00 ]
========================================================
-----------------------------
| COLLECTOR [ shinken-additional-packs-import ]
=> Adding Collector cfg file
- Path : /etc/shinken/sources/shinken-additional-packs-import.cfg
=> Creating Collector DATA space
- Path : /etc/shinken-user/source-data/source-data-shinken-additional-packs-import
=> Adding Definition File [ 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
|
Si le collecteur "shinken-additional-packs-import" n'est pas présent 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 |
Lancer l'import du collecteur "shinken-additional-packs-import":
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 |
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é.
tar -xjfv --no-same-owner PACK__NOM-DU-PACK__shinken__VERSION__linux.tar.xz -C ./ |
tar -xvzf PACK__NOM-DU-PACK__shinken__VERSION__windows.tar.gz -C ./ |
Entrez dans le répertoire créér :
cd NOM_DU_PACK/ |
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 |
Ensuite, plaçons maintenant la définition des éléments de supervision du pack au bon endroit :
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 ).
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/ |
Pour l'exécution correcte des commandes du pack linux-by-SNMP__shinken, vous aurez besoin d'installer un serveur SNMP sur la machine linux supervisée.
Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie.
Pour les modèles d'hôtes linux-by-SNMPv3__( noAuthNoPriv / authNoPriv / authPriv ) :
Nous conseillons l'utilisation d'un utilisateur spécifique ( pour le service de supervision ).
Sur votre serveur supervisé avec l'OS Linux, il vous faut installer le paquet net-snmp pour configurer un serveur SNMP.
yum -y install net-snmp |
Vous pouvez également installer le paquet net-snmp-utils ( Utilitaires de gestion de réseau utilisant SNMP, issus du projet NET-SNMP ). L'installation de ce paquet est optionnelle pour le fonctionnement du pack.
yum -y install net-snmp-utils |
Ensuite, par précaution, faîtes une copie puis éditez le fichier de configuration de snmpd :
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak vim /etc/snmp/snmpd.conf |
La ligne suivante permet de changer la communauté public vers une communauté propre à votre réseau et plus ou moins complexe ( remplacez "public" par la chaîne de caractères que vous souhaitez ).
Cela concerne le modèle d'hôte linux-by-SNMPv1v2. Par défaut, à l'installation du pack linux-by-SNMP, la communauté est définie à public. ( Cette donnée est modifiable dans l'interface de configuration ). |
#### # First, map the community name "public" into a "security name" # sec.name source community com2sec notConfigUser default public |
Le pack incluant le SNMP V3 nécessite la mise en place d'un utilisateur qui sera utilisé pour se connecter sur les serveurs distants supervisés.
Voici un exemple de création d'un utilisateur sur la machine supervisée qui sera interrogée par le pack en SNMPv3.
Arretez le service SNMP pour pouvoir lancer la commande de création d'un utilisateur :
service snmpd stop |
Créez vote utilisateur avec ses informations d'identification :
net-snmp-create-v3-user -ro -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES shinken |
Redémarrez le service SNMP :
service snmpd start |
Test de connexion en local :
snmpwalk -u shinken -A shinkenpassword -a SHA -X shinkenencryptionkey -x AES -l authPriv 127.0.0.1 -v3 |
À noter qu'ici, nous avons défini :
Ces paramètres sont par défaut dans le pack et seront utilisés dans les modèles de supervisions pour interroger les équipements supervisés. Si vous créez vos propres paramètres, il faudra donc les modifier dans l'interface de configuration.
L'ajout de la ligne "group notConfigGroup usm shinken" est nécessaire pour pouvoir faire fonctionner les modèles d'hôtes linux-by-SNMPv3_( noAuthNoPriv / authNoPriv / authPriv ).
Ici, shinken, correspond à l'utilisateur par défaut utilisé pour le SNMP. |
# groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser group notConfigGroup usm shinken |
Par défaut, le fichier de configuration associe ensuite ( étape 3 dans le fichier ) le nom de sécurité ( "notConfigUser" ) a une vue d'accès restreintes à certains OID ( "systemview" ).
Pour un accès sur l'ensemble des OIDs du système, utilisez une nouvelle vue, par exemple "all":
#### # Third, create a view for us to let the group have rights to: # Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) #view systemview included .1.3.6.1.2.1.1 #view systemview included .1.3.6.1.2.1.25.1.1 view all included .1 |
Et par conséquent, remplacez la vue "systemview" par "all" dans la dernière étape de configuration du fichier :
# group context sec.model sec.level prefix read write notif access notConfigGroup "" any noauth exact all none none |
Vous pouvez maintenant démarrer le démon SNMPD :
service snmpd start |
Pensez à redémarrer le service snmpd à chaque modification du fichier de configuration snmpd.conf.
Pour un démarrage du service snmpd à chaque démarrage de votre machine, utilisez la commande :
chconfig snmpd on |
Vous pouvez tester votre service snmpd avec la commande snmpwalk ( changez la communauté si besoin ).
snmpwalk -v 1 -c public localhost |
La commande snmpwalk, provient du paquet net-snmp-utils. |
Commentez avec "#" les 2 lignes qui commencent par "view" et ajouter la ligne en suivant :
# Make at least snmpwalk -v 1 localhost -c public system fast again. # name incl/excl subtree mask(optional) #view systemview included .1.3.6.1.2.1.1 #view systemview included .1.3.6.1.2.1.25.1.1 view systemview included .1 |
Redémarrez le service SNMP :
systemctl restart snmpd |
Les scripts sont exécutés par le ou les serveurs Poller.
perl-Crypt-Rijndael ( que vous devez rajouter sur votre OS ) ( Installation ici ou avec la ligne de commande suivante : )
# Installation de la librarie cryptographique
sudo yum install perl-Crypt-Rijndael
|
| Si plusieurs Pollers sont configurés, il est nécessaire de créer un espace partagé où seront stockés les fichiers temporaires générés lors de l'exécution des sondes, afin d'éviter toute perte de donnée. Une fois un dossier partagé créé, par example /shared-folder, modifiez la variable LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH avec le chemin du dossier partagé. |
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation du pack | Description | |
|---|---|---|---|---|---|---|
| l'Hôte ( Onglet Données ) | -- | public | public | La Communauté SNMP v1/v2 défini sur votre linux :
|
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation du pack | Description | |
|---|---|---|---|---|---|---|
| l'Hôte ( Onglet Données ) | -- | shinken | shinken | Un nom d'utilisateur SNMPv3 défini sur votre linux :
|
Pas de données communes supplémentaires pour ce mode de connexion
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation du pack | Description | |
|---|---|---|---|---|---|---|
| l'Hôte ( Onglet Données ) | -- | sha | sha | Protocole utilisé pour vérifier l'authenticité des messages SNMPv3 | |
| l'Hôte ( Onglet Données ) | -- | shinkenpassword | shinkenpassword | Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3. |
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation du pack | Description | |
|---|---|---|---|---|---|---|
| l'Hôte ( Onglet Données ) | -- | sha | sha | Protocole utilisé pour vérifier l'authenticité des messages SNMPv3 | |
| l'Hôte ( Onglet Données ) | -- | shinkenpassword | shinkenpassword | Chaîne secrète utilisée pour vérifier l'authenticité des messages SNMPv3. | |
| l'Hôte ( Onglet Données ) | -- | aes | aes | Protocole utilisé pour chiffrer les données SNMPv3 | |
| l'Hôte ( Onglet Données ) | -- | shinkencryptionkey | shinkencryptionkey | Chaîne secrète utilisée pour chiffrer et déchiffrer les données SNMPv3. |
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation | Description | |
|---|---|---|---|---|---|---|
| l'Hôte ( Onglet Données ) | -- | /tmp | /tmp | Chemin absolu où sera créé le dossier 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. |
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 V01.01.00 ] ========================================================== ----------------------------- | 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 V01.01.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 . |
Le check Disks Usage by SNMP utilise le protocole SNMP pour collecter des informations sur l’utilisation des disques. Cependant, dans certains cas, il peut échouer à récupérer ces informations. Cela se produit généralement lorsque les disques ne sont pas explicitement inclus dans la configuration SNMP ou lorsqu'ils ne sont pas détectés automatiquement.
Arretez le service SNMP :
service snmpd stop |
Ouvrez le fichier de configuration SNMP
vim /etc/snmp/snmpd.conf |
Rajoutez cette ligne dans la partie dédiée aux disques : includeAllDisks 10%
############################################################################### # disk checks # # The agent can check the amount of available disk space, and make # sure it is above a set limit. # disk PATH [MIN=100000] # # PATH: mount path to the disk in question. # MIN: Disks with space below this value will have the Mib's errorFlag set. # Default value = 100000. # Check the / partition and make sure it contains at least 10 megs. includeAllDisks 10% |
Redémarrez le service SNMP :
service snmpd start |
Ce check requiert un accès spécifique au dossier /tmp/shinken. Pour ce faire, nous vous mettons à disposition une série de commandes. Ces commandes permettront au groupe de l'utilisateur choisi ( exemple : shinken ) pour votre supervision Shinken d'avoir un accès au dossier /tmp/shinken.
Commandes à éxecuter :
shinken_tmp_dirname="shinken" mkdir --parents /tmp/$shinken_tmp_dirname chown root:shinken /tmp/$shinken_tmp_dirname chmod g+rwx /tmp/$shinken_tmp_dirname |
1. La commande mkdir --parents /tmp/shinken créer récursivement le répertoire /tmp/shinken.
1. La commande chown root:shinken /tmp/shinken modifie le groupe du dossier /tmp/shinken.
2. La commande chmod g+rwx /tmp/shinken applique immédiatement les droits nécessaires au dossier /tmp/shinken pour le groupe shinken.