Contexte
Vous retrouverez dans cette page les erreurs fréquentes liées à une mauvaise configuration, authentification ou problèmes de connexion.
Les Erreurs
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 :
Disks Usage by SNMPvX
UI CONFIGURATION - PARAMETER ISSUE – Found [...] mounted partitions on the host, but none is matching the filtering parameters.
- Aucun point de montage ne correspond aux paramètres d'inclusions ou d'exclusions :
- LINUX-BY-SNMP__DISKS-USAGE__INCLUDE-MOUNTPOINTS
- LINUX-BY-SNMP__DISKS-USAGE__EXCLUDE-MOUNTPOINTS
RESOLUTION :
Les paramètres suivants doivent être mise à jour :
- LINUX-BY-SNMP__DISKS-USAGE__INCLUDE-MOUNTPOINTS
- LINUX-BY-SNMP__DISKS-USAGE__EXCLUDE-MOUNTPOINTS
Afin de mieux régler les paramètres de filtre, la commande suivante permet de lister les partitions disponibles sur le linux supervisé :
Les instructions suivantes sont à exécuter sur l'hôte supervisée.
df -TP
MONITORED HOST - BAD STATE – No disks data found.
Le serveur SNMP doit être configuré pour autoriser la récupération des informations des disques. S'il n'est pas configuré, vous obtiendrez l'erreur suivante :
Résolution :
Les instructions suivantes sont à exécuter sur l'hôte supervisé.
Arrêtez le service SNMP.
service snmpd stop
Ouvrez le fichier de configuration SNMP. ( "/etc/snmp/shinken/linux-by-SNMP__shinken.conf" ).
vim /etc/snmp/shinken/linux-by-SNMP__shinken.conf
Vérifiez que cette ligne est présente, ou ajoutez la : includeAllDisks 10%
includeAllDisks 10%
Redémarrez le service SNMP :
service snmpd start
Stats CPU by SNMPvX
Ce check dépend de la commande mpstat, qui fait partie du paquet sysstat. Assurez-vous que ce paquet soit installé pour que la commande fonctionne correctement.
Les instructions suivantes sont à exécuter sur l'hôte supervisé.MONITORED HOST - BAD STATE – Command 'mpstat' not found. Please ensure that the 'sysstat' package is installed.
# Ubuntu, Debian
apt-get install sysstat
# Centos, Fedora, OpenSUSE
yum -y install sysstat
# Arch
pacman -Rs sysstat
Ntp Sync by SNMPvX
Il est nécessaire que le service ntpd soit installé pour le bon fonctionnement du check. Sans cela, l'erreur suivante sera générée :
Les instructions suivantes sont à exécuter sur l'hôte supervisée. Installez et activez le service ntpd sur l'hôte supervisée. Il est possible que le service ntpd ne soit pas allumé. L'erreur suivante sera générée :
Les instructions suivantes sont à exécuter sur l'hôte supervisée. Le service ntpd doit être activé et démarré : Une fois lancé, le service ntpd va choisir le serveur NTP, parmi un ou plusieurs configurés, qui sera utilisé pour la synchronisation NTP. Cette opération prend quelques secondes une fois le service démarré. Sans cela, l'erreur suivante sera générée :
Il suffit d'attendre quelques secondes.MONITORED HOST - BAD STATE – NTP tools and daemon are not installed
# Debian, Ubuntu
sudo apt install ntp
# Fedora, OpenSUSE
sudo yum install ntp
# Arch
sudo pacman -S ntp
sudo service ntpd restart
MONITORED HOST - BAD STATE – NTP daemon seems to be shutdown.
sudo service ntpd restart
MONITORED HOST - BAD STATE – No NTP source server found.
Si le problème persiste, vérifiez le bon fonctionnement du service ntpd et de sa configuration. Cliquez ici pour un guide de configuration ntpd.
Ntp Sync Chrony by SNMPvX
Il est possible que le service chronyd ne soit pas allumé. L'erreur suivante sera générée : Le service ntpd doit être activé et démarré : Il est nécessaire que le service chronyd soit installé pour le bon fonctionnement du check. Sans cela, l'erreur suivante sera générée :
RESOLUTION : Installez et activez le service chronyd sur l'hôte supervisée. Une fois lancé, le service chronyd va choisir un ou plusieurs serveurs NTP, parmi ceux configurés, qui seront utilisés pour la synchronisation NTP. Cette opération prend quelques secondes une fois le service démarré. Sans cela, l'erreur suivante sera générée :
Il suffit d'attendre quelques secondes.MONITORED HOST - BAD STATE – Chrony daemon seems to be shutdown.
sudo service ntpd restart
MONITORED HOST - BAD STATE – Chrony daemon is not installed
# Debian, Ubuntu
sudo apt install chrony
# RHEL, Alma, Rocky, Centos, Fedora, OpenSUSE
sudo yum install chrony
# Arch, Manjaro
sudo pacman -S chrony
sudo service chronyd restart
MONITORED HOST - BAD STATE – Chrony daemon is not synchronized
Si le problème persiste, vérifiez le bon fonctionnement du service chronyd et de sa configuration. Cliquez ici pour un guide de configuration chronyd.
Connection Failed by SNMPvX
Le check va exécuter à distance la commande 'lastb' mais qui n'est pas disponible sur votre machine.
Le check va exécuter à distance la commande 'lastb' qui nécessite les droits de lecture sur le fichier '/var/log/btmp'.
Cette erreur est très fréquemment généré 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éé. Sur Debian, un utilisateur est créé spécifiquement pour le serveur snmpd de l'hôte supervisé : "Debian-snmp". Il suffit de lui ajouter les droits nécessaires en l'ajoutant dans le groupe "utmp", qui a accès aux fichiers demandés. Le check demande une configuration supplémentaire afin d'exécuter des commandes via des requêtes SNMP. Sans cette configuration, l'erreur suivante sera générée :
Ouvrez le fichier de configuration SNMP. ( "/etc/snmp/shinken/linux-by-SNMP__shinken.conf" ou "/etc/snmp/snmpd.conf" selon votre configuration ). Rajoutez cette ligne si elle n'y est pas : Il faudra ensuite redémarrer le serveur SNMP ( snmpd )MONITORED HOST - BAD STATE – The command 'lastb' is not found. This check may not work with your Linux distribution.
MONITORED HOST - BAD STATE – Permission denied: SNMP daemon (snmpd) cannot access /var/log/btmp using 'lastb' command.
RHEL, centOS 7 et RHEL / Alma / Rocky 8 et 9
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"
Debian 13
RÉSOLUTION MANUELLE :usermod -a -G utmp Debian-snmp
service snmpd restart
MONITORED HOST - BAD STATE – No connection logs data found.
vim /etc/snmp/shinken/linux-by-SNMP__shinken.conf
# vim /etc/snmp/snmpd.conf
extend shinken__linux-by-snmp__connection-failed__lastb /bin/sh -c "export LC_LANG=C && unset LANG && lastb -F -w"
service snmpd restart
# Ou bien en utilisant systemctl
systemctl restart snmpd
Stats NFS by SNMPvX
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"
Erreurs de configuration du poller shinken
Erreurs communes à certains checks
POLLER - BAD STATE – Failed to compute average [ ... ] Got 'Permission denied (os error13)
POLLER - BAD STATE – Failed to create sample storage
Les checks concernés sont :
- Network Interfaces by SNMPv1v2
- Network Interfaces by SNMPv3
- Stats Kernel by SNMPv1v2
- Stats Kernel by SNMPv1v3
- Stats Disks by SNMPv1v2
- Stats Disks by SNMPv3
Le poller qui exécutera les checks nécessite un droit d'écriture et de lecture dans le répertoire décrit par LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH/LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME, par défaut /tmp/shinken.
Vous pouvez obtenir les erreurs suivantes :
Résolution
Remarque
Cette série de commandes ne peut être effectuée qu'en ayant les droits root.
Donc en étant connecté au compte root ou en ayant fait la commande "su" au préalable.
Les instructions suivantes sont à exécuter sur vos pollers
shinken_tmp_dirname="shinken" mkdir --parents /tmp/$shinken_tmp_dirname chown -R root:shinken /tmp/$shinken_tmp_dirname chmod -R g+rwx /tmp/$shinken_tmp_dirname
Explication
1. La commande mkdir --parents /tmp/$shinken_tmp_dirname crée un récursivement un répertoire.
2. La commande chown -R root:shinken /tmp/$shinken_tmp_dirname modifie le groupe du dossier /tmp/shinken.
- Cela garantit que des droits peuvent être appliqués au groupe shinken sur ce dossier.
3. La commande chmod -R g+rwx /tmp/$shinken_tmp_dirname applique immédiatement les droits nécessaires au dossier /tmp/shinken pour le groupe shinken.
- Les droits de lecture, d'écriture et d'exécution sont ajoutés au dossier. Cela permet aux sondes de créer et lire des fichiers dans le dossier /tmp/shinken.
Il est nécessaire d'adapter la variable shinken_tmp_dirname si vous avez modifié l'un des deux variables suivantes :
- LINUX-BY-SNMP__WORKING-FOLDER-BASE-PATH
- LINUX-BY-SNMP__WORKING-FOLDER-TMP-DIRNAME


























