Contexte
Le check Stats NFS by SNMPv3 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 une des lignes de commandes suivantes selon le modèle d'hôte utilisé :
$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 "3"
--user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
--level "noAuthNoPriv"
$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 "3"
--user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
--auth_password "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-AUTH$"
--auth_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-AUTH$"
--level "authNoPriv"
$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 "3"
--user "$_HOSTLINUX-BY-SNMP__V3-LOGIN$"
--auth_password "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-AUTH$"
--priv_passphrase "$_HOSTLINUX-BY-SNMP__V3-PASSPHRASE-PRIV$"
--auth_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-AUTH$"
--priv_protocol "$_HOSTLINUX-BY-SNMP__V3-PROTOCOL-PRIV$"
--level "authPriv"
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
Données globales
| Nom | Modifiable sur | Unité | Défaut | Valeur par défaut à l'installation | Description |
|---|---|---|---|---|---|
USERPLUGINSDIR | Non modifiable ( Sauf Admin Shinken ) | -- | /var/lib/shinken/libexec | /var/lib/shinken/libexec | Chemin absolu contenant les sondes installés par Shinken. |
LINUX-BY-SNMP__SHINKEN__VENDOR | Non modifiable ( Sauf Admin Shinken ) | -- | shinken-additional-packs | shinken-additional-packs | Dossier fournit par shinken. |
LINUX-BY-SNMP__SHINKEN__PACKNAME | Non modifiable ( Sauf Admin Shinken ) | linux-by-SNMP__shinken | linux-by-SNMP__shinken | Dossier contenant les sondes. | |
LINUX-BY-SNMP__SHINKEN__PLUGINSDIR | Non modifiable ( Sauf Admin Shinken ) | -- | USERPLUGINSDIR/LINUX-BY-SNMP__SHINKEN_VENDOR/ LINUX-BY-SNMP__SHINKEN__PACKNAME | /var/lib/shinken-user/libexec/shinken-additional-packs/linux-by-SNMP__shinken | Chemin absolu du dossier contenant les sondes du pack linux-by-SNMP__shinken ( non modifiable ). |
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
| 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 ). | -- | -- |
Erreurs et pré-requis
Erreurs de configuration de l'hôte à superviser ( spécifique à ce check )
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 devriez observer parmi le résultat les ligne suivante : RÉSOLUTION MANUELLE : Sur l'hôte distante, exécutez les commandes suivantes : Dans le fichier, remplissez et sauvegardez : Puis exécutez : Ces commandes vont compiler, empaqueter et installer le module SELinux créé.MONITORED HOST - BAD STATE – Permission denied: SNMP daemon (snmpd) cannot access /proc/net/rpc/nfsd
Vous pouvez vérifier si SELinux est activé avec la commande :sestatus
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
mkdir -p /etc/selinux/shinken
vim /etc/selinux/shinken/linux-by-SNMP__shinken.te
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 };
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"
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 :











