Contexte
Le check Stats NFS by SNMPv1v2 va récupérer les statistiques de votre NFS pour vous les renvoyer sous forme de métriques visibles dans l'interface de Visualisation.
Paramétrage
Le check utilise la ligne de commande suivante :
$LINUX-BY-SNMP__SHINKEN__PLUGINSDIR$/check_linux_health_by_snmp_rust --check check_stats_nfs
-H "$HOSTADDRESS$"
-p "$_HOSTLINUX-BY-SNMP__PORT$"
-t "$_HOSTLINUX-BY-SNMP__TIMEOUT$"
-F "$_HOSTLINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH$/$_HOSTLINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME$"
--snmp_version "2"
--community "$_HOSTLINUX-BY-SNMP__V1V2-COMMUNITY$"
Données utilisées provenant des modèles
Données communes pour les checks des modèles
l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) --- l'Hôte ( Onglet Données ) La Communauté SNMP v1/v2 défini sur votre linux : l'Hôte ( Onglet Données ) Sélectionne la version SNMP 1 ou 2 à utiliser.Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation de Shinken Description LINUX-BY-SNMP__TIMEOUT
seconde 5 5 Temps maximal en seconde pour réussir une connexion SNMP avant que le check ne renvoi une erreur INCONNU ( La valeur doit être comprise entre 2 et 60 ). LINUX-BY-SNMP__PORT
161 161 Port pour la connexion SNMP. LINUX-BY-SNMP__V1V2-COMMUNITY
--- public public LINUX-BY-SNMP__V1V2-VERSION
--- 2 2
Les données communes pour certain checks
Pour les checks suivants : l'Hôte ( Onglet Données ) l'Hôte ( Onglet Données ) Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH
-- /tmp /tmp Chemin absolu où sera créé le dossier LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME. LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME
-- 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.
Données spécifiques pour ce check
Pas de données spécifiques pour ce check
Données DFE ( Duplicate Foreach )
Pas de données DFE pour ce check
Données utilisées provenant du check
Pas de données provenant du check pour ce modèle
Non modifiable ( Sauf Admin Shinken ) Chemin absolu contenant les sondes installés par Shinken. Non modifiable ( Sauf Admin Shinken ) Dossier fournit par shinken. Non modifiable ( Sauf Admin Shinken ) Dossier contenant les sondes. Non modifiable ( Sauf Admin Shinken ) Chemin absolu du dossier contenant les sondes du pack linux-by-SNMP__shinken ( non modifiable ).Données globales
Nom Modifiable sur Unité Défaut Valeur par défaut à l'installation Description USERPLUGINSDIR
-- /var/lib/shinken/libexec /var/lib/shinken/libexec LINUX-BY-SNMP__SHINKEN__VENDOR
-- shinken-additional-packs shinken-additional-packs LINUX-BY-SNMP__SHINKEN__PACKNAME
linux-by-SNMP__shinken linux-by-SNMP__shinken LINUX-BY-SNMP__SHINKEN__PLUGINSDIR
-- USERPLUGINSDIR/LINUX-BY-SNMP__SHINKEN_VENDOR/
LINUX-BY-SNMP__SHINKEN__PACKNAME
/var/lib/shinken-user/libexec/shinken-additional-packs/linux-by-SNMP__shinken
l'Hôte ( Onglet Général ) -- Adresse de l'hôtePropriétés de l'hôte
Nom Modifiable sur Unité Défaut Valeur par défaut Description HOSTADDRESS
Nom de l'hôte Nom de l'hôte
Résultat
Exemple
Interprétation des données
Statut
Il peut prendre 3 valeurs OK / CRITIQUE / INCONNU
- Voici un tableau récapitulatif du statut attendu suivant le retour de sonde :
| Situation | Statut | Exemple |
|---|---|---|
| OK | |
Résultat
Le résultat contient un message indiquant le statut du check.
Résultat Long
Pas de résultat long.
Métriques
Définition
| Nom de la métrique | Unité | Description | Seuil d'avertissement | Seuil critique |
|---|---|---|---|---|
| WB_by_s | B/s | Quantité de données écrites par seconde ( B/s ). | -- | -- |
| RB_by_s | B/s | Quantité de données lues par seconde ( B/s ). | -- | -- |
| proc2_W_by_s | W/s | Nombre d'écritures par seconde ( NFS version 2 ). | -- | -- |
| proc2_R_by_s | R/s | Nombre de lectures par seconde ( NFS version 2 ). | -- | -- |
| proc3_W_by_s | W/s | Nombre d'écritures par seconde ( NFS version 3 ). | -- | -- |
| proc3_R_by_s | R/s | Nombre de lectures par seconde ( NFS version 3 ). | -- | -- |
| proc4_W_by_s | W/s | Nombre d'écritures par seconde ( NFS version 4 ). | -- | -- |
| proc4_R_by_s | R/s | Nombre de lectures par seconde ( NFS version 4 ). | -- | -- |
Exemple
Erreurs et pré-requis
Erreurs de configuration de l'hôte à superviser ( spécifique à ce check )
MONITORED HOST - BAD STATE – Permission denied: SNMP daemon (snmpd) cannot access /proc/net/rpc/nfsd
Le check va lire le fichier '/proc/net/rpc/nfsd' ce qui nécessite les droits de lecture.
Cette erreur est très fréquemment générée par le module de sécurité SELinux.
Vous pouvez vérifier si SELinux est activé avec la commande :
sestatus
Vous devriez observer parmi le résultat les ligne suivante :
SELinux status: enabled Current mode: enforcing
Si SELinux est bien activé et en mode 'enforcing' , vous pouvez alors rajouter des règles afin de permettre au service SNMP (snmpd) à accéder aux fichiers voulus.
Si un autre module de sécurité est installé sur votre hôte distante, il faudra le configurer de façon similaire.
RÉSOLUTION PAR SCRIPT :
Dans le script de configuration d'hôte livré dans le pack, une option permet de rajouter ces règles.
Déployez le dossier 'supervised-host' sur votre hôte (scp, ftp ..).
Sur l'hôte distante, exécutez :
cd supervised-host ./configure-host.sh --configure-selinux
RÉSOLUTION MANUELLE :
Sur l'hôte distante, exécutez les commandes suivantes :
mkdir -p /etc/selinux/shinken vim /etc/selinux/shinken/linux-by-SNMP__shinken.te
Dans le fichier, remplissez et sauvegardez :
module linux-by-SNMP__shinken 1.0;
require {
type snmpd_t;
type sysctl_rpc_t;
type faillog_t;
class file { read open getattr };
class dir { search };
}
# Rules for check Stats NFS by SNMPvXXX
# Allow snmpd to read /proc/net/rpc/nfsd
allow snmpd_t sysctl_rpc_t:file { read open getattr };
# Autorisation pour accéder au dossier /proc/net/rpc
allow snmpd_t sysctl_rpc_t:dir { search };
# Rules for check Connection Failed by SNMPvXXX
# Allow snmpd to read /var/log/btmp
allow snmpd_t faillog_t:file { read open getattr };
Puis exécutez :
checkmodule -M -m -o "/etc/selinux/shinken/linux-by-SNMP__shinken.mod" "/etc/selinux/shinken/linux-by-SNMP__shinken.te" semodule_package -o "/etc/selinux/shinken/linux-by-SNMP__shinken.pp" -m "/etc/selinux/shinken/linux-by-SNMP__shinken.mod" semodule -i "/etc/selinux/shinken/linux-by-SNMP__shinken.pp"
Ces commandes vont compiler, empaqueter et installer le module SELinux créé.
La connexion SNMP est configuré par défaut pour se couper si aucune réponse n'est perçu après cinq secondes ( paramétrable avec LINUX-BY-SNMP__TIMEOUT ).
Cette erreur peut intervenir lorsque : La résolution DNS de l'hôte a échoué.
La tentative de connexion à l'hôte a échoué à atteindre l'hôte.
Cette erreur peut être générée à cause d'une mauvaise configuration de pare-feu. La tentative de connexion à l'hôte a été refusé.
Cette erreur peut intervenir lorsque : L'authentification SNMP v3 a échoué.
Cette erreur peut intervenir lorsque : L'utilisateur SNMP v3 utilisé n'existe pas.
L'authentification SNMP v3 a échoué. La méthode d'authentification n'est pas authorisé.
Cette erreur peut intervenir lorsque : Les erreurs suivantes peuvent arriver sur la version SNMPv2 et SNMPv3. Deux erreurs sont possibles :
RESOLUTION : Il faut vérifier les deux étapes suivantes de la configuration :Erreurs de connexion ( communes à tous les checks )
UNKNOWN – Session error: timeout
UNKNOWN – Failed to create SNMP session. Got error: failed to lookup address information: Name or service not known
UNKNOWN – Session error: Socket receive error: host unreachable
UNKNOWN – Session error: Socket receive error: connection refused
UNKNOWN – Session error: Unexpected report: authentication failure
UNKNOWN – Session error: Unexpected report: unknown user name
UNKNOWN – Session error: Unexpected report: unsupported security level.
Erreurs de configuration de l'hôte à superviser ( communes à tous les checks )
MONITORED HOST - BAD STATE – No [ ... ] data found. This might be due to :











