Aller au contenu principal

Linux SNMP (Rust)

Expérimental : le plugin Rust centreon-plugin-rust-snmp est actuellement en phase beta.

Dépendances du connecteur de supervision​

Les connecteurs de supervision suivants sont automatiquement installés lors de l'installation du connecteur Linux SNMP (Rust) depuis la page Configuration > Connecteurs > Connecteurs de supervision :

Contenu du pack​

Modèles​

Le connecteur de supervision Linux SNMP (Rust) apporte un modèle d'hôte :

  • OS-Linux-SNMP-Rs-custom

Le connecteur apporte les modèles de service suivants (classés selon le modèle d'hôte auquel ils sont rattachés) :

AliasModèle de serviceDescription
CpuOS-Linux-Cpu-SNMP-Rs-customContrôle du taux d'utilisation du CPU de la machine
MemoryOS-Linux-Memory-SNMP-Rs-customContrôle l'utilisation de la mémoire vive (RAM)
SwapOS-Linux-Swap-SNMP-Rs-customContrôle du taux d'utilisation de la mémoire virtuelle
UptimeOS-Linux-Uptime-SNMP-Rs-customDurée depuis laquelle l'hôte fonctionne sans interruption

Les services listés ci-dessus sont créés automatiquement lorsque le modèle d'hôte OS-Linux-SNMP-Rs-custom est utilisé.

Métriques & statuts collectés​

Voici le tableau des services pour ce connecteur, détaillant les métriques et statuts rattachés à chaque service.

NomUnité
avg.cpu.usage.percent%
cpu#core.cpu.usage.percent%

Prérequis​

Afin de superviser vos équipements Linux, le serveur SNMP doit être configuré sur ceux-ci. Les versions 2 et 3 sont recommandées.

Configuration du serveur SNMP​

Configuration basique​

Note : la configuration ci-après peut varier en fonction de la distribution. En cas d'erreur, référez-vous à la documentation disponible sur les sites officiels de votre distribution.

Ci-dessous, un exemple de fichier snmpd.conf (remplacer my-snmp-community par la communauté que vous souhaitez utiliser).

com2sec notConfigUser default my-snmp-community
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
view centreon included .1.3.6.1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
access notConfigGroup "" any noauth exact centreon none none
access notConfigGroup "" any noauth exact systemview none none
includeAllDisks 10%

Il est nécessaire de redémarrer le processus SNMP après avoir modifié le fichier de configuration.

Assurez-vous que le processus SNMP est configuré pour démarrer automatiquement lors du redémarrage du serveur.

Flux réseau​

La communication doit être possible sur le port UDP 161 depuis le collecteur Centreon vers le serveur Linux supervisé.

Installer le connecteur de supervision​

Pack​

La procédure d'installation des connecteurs de supervision diffère légèrement suivant que votre licence est offline ou online.

  1. Si la plateforme est configurée avec une licence online, l'installation d'un paquet n'est pas requise pour voir apparaître le connecteur dans le menu Configuration > Connecteurs > Connecteurs de supervision. Au contraire, si la plateforme utilise une licence offline, installez le paquet sur le serveur central via la commande correspondant au gestionnaire de paquets associé à sa distribution :
dnf install centreon-pack-operatingsystems-linux-snmp-rs
  1. Quel que soit le type de la licence (online ou offline), installez le connecteur Linux SNMP (Rust) depuis l'interface web et le menu Configuration > Connecteurs > Connecteurs de supervision.

Plugin​

À partir de Centreon 22.04, il est possible de demander le déploiement automatique du plugin lors de l'utilisation d'un connecteur. Si cette fonctionnalité est activée, et que vous ne souhaitez pas découvrir des éléments pour la première fois, alors cette étape n'est pas requise.

Plus d'informations dans la section Installer le plugin.

Utilisez les commandes ci-dessous en fonction du gestionnaire de paquets de votre système d'exploitation :

dnf install centreon-plugin-operatingsystems-linux-snmp-rs

Utiliser le connecteur de supervision​

Utiliser un modèle d'hôte issu du connecteur​

  1. Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
  2. Complétez les champs Nom, Alias & IP Address/DNS correspondant à votre ressource.
  3. Appliquez le modèle d'hôte OS-Linux-SNMP-Rs-custom. Une liste de macros apparaît. Les macros vous permettent de définir comment le connecteur se connectera à la ressource, ainsi que de personnaliser le comportement du connecteur.
  4. Renseignez les macros désirées. Attention, certaines macros sont obligatoires.
MacroDescriptionValeur par défautObligatoire
SNMP_EXTRA_OPTIONSAny extra option you may want to add to every command (a --verbose flag for example). Toutes les options sont listées ici.
  1. Déployez la configuration. L'hôte apparaît dans la liste des hôtes supervisés, et dans la page Statut des ressources. La commande envoyée par le connecteur est indiquée dans le panneau de détails de l'hôte : celle-ci montre les valeurs des macros.

Utiliser un modèle de service issu du connecteur​

  1. Si vous avez utilisé un modèle d'hôte et coché la case Créer aussi les services liés aux modèles, les services associés au modèle ont été créés automatiquement, avec les modèles de services correspondants. Sinon, créez les services désirés manuellement et appliquez-leur un modèle de service.
  2. Renseignez les macros désirées (par exemple, ajustez les seuils d'alerte). Les macros indiquées ci-dessous comme requises (Obligatoire) doivent être renseignées.
MacroDescriptionValeur par défautObligatoire
WARNING_AVERAGEWarning threshold90
CRITICAL_AVERAGECritical threshold95
WARNING_COREWarning threshold for the metric 'core.cpu.usage.percent'
CRITICAL_CORECritical threshold for the metric 'core.cpu.usage.percent'
EXTRA_OPTIONSAny extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici.
  1. Déployez la configuration. Le service apparaît dans la liste des services supervisés, et dans la page Statut des ressources. La commande envoyée par le connecteur est indiquée dans le panneau de détails du service : celle-ci montre les valeurs des macros.

Comment puis-je tester le plugin et que signifient les options des commandes ?​

Une fois le plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis votre collecteur Centreon en vous connectant avec l'utilisateur centreon-engine (su - centreon-engine). Vous pouvez tester que le connecteur arrive bien à superviser une ressource en utilisant une commande telle que celle-ci (remplacez les valeurs d'exemple par les vôtres) :

/usr/lib/centreon/plugins/centreon-plugin-rust-snmp -H '10.0.0.1' -c 'my-snmp-community' -v '2c' \
--json '/usr/lib/centreon/plugins/rs-collections/operatingsystems-linux-snmp/uptime.json' \
--warning-seconds='' \
--critical-seconds=''

La commande devrait retourner un message de sortie similaire à :

OK: Uptime: 64750s | 'system.uptime.seconds'=64750s;;;0;

Diagnostic des erreurs communes​

Rendez-vous sur la documentation dédiée pour le diagnostic des erreurs communes des plugins Centreon.

Modes disponibles​

Dans la plupart des cas, un mode correspond à un modèle de service. Le mode est renseigné dans la commande d'exécution du connecteur. Dans l'interface de Centreon, il n'est pas nécessaire de les spécifier explicitement, leur utilisation est implicite dès lors que vous utilisez un modèle de service. En revanche, vous devrez spécifier le mode correspondant à ce modèle si vous voulez tester la commande d'exécution du connecteur dans votre terminal.

Tous les modes disponibles peuvent être affichés en ajoutant le paramètre --list-mode à la commande :

/usr/lib/centreon/plugins/centreon-plugin-rust-snmp -H '10.0.0.1' -c 'my-snmp-community' -v '2c' \
--json '/usr/lib/centreon/plugins/rs-collections/operatingsystems-linux-snmp/uptime.json' \
--list-mode

Le plugin apporte les modes suivants :

ModeModèle de service associé
cpu [code]OS-Linux-Cpu-SNMP-Rs-custom
inodes [code]Non utilisé dans ce connecteur de supervision
memory [code]OS-Linux-Memory-SNMP-Rs-custom
memory-64 [code]OS-Linux-Memory-64bits-SNMP-Rs-custom
processcount [code]OS-Linux-Process-Generic-SNMP-Rs-custom
storage [code]OS-Linux-Disk-Global-SNMP-Rs-custom
swap [code]OS-Linux-Swap-SNMP-Rs-custom
swap-64 [code]OS-Linux-Swap-64bits-SNMP-Rs-custom
sysdesc [code]Non utilisé dans ce connecteur de supervision
uptime [code]OS-Linux-Uptime-SNMP-Rs-custom

Options disponibles​

Options génériques​

Les options génériques sont listées ci-dessous :

OptionDescription
--hostnameHostname or IP address (default: localhost)
--portSNMP port (default: 161)
--snmp-versionSNMP version (default: 2c)
--jsonJSON command definition file
--filter-inInclude filter (can be used multiple times)
--filter-outExclude filter (can be used multiple times)
--no-data-statusStatus when the filters keep no data: OK, WARNING, CRITICAL or UNKNOWN (default: UNKNOWN)
--check-formatCheck JSON file validity and exit
--check-responseDisplay raw SNMP response
--list-countersList all available metrics
--helpPrint this help message

Options des modes​

Les options disponibles pour chaque modèle de services sont listées ci-dessous :

OptionDescription
--warning-coreWarning threshold for the metric 'core.cpu.usage.percent'.
--critical-coreCritical threshold for the metric 'core.cpu.usage.percent'.
--warning-avgWarning threshold for the metric 'avg.cpu.usage.percent'.
--critical-avgCritical threshold for the metric 'avg.cpu.usage.percent'.

Pour un mode, la liste de toutes les options disponibles et leur signification peut être affichée en ajoutant le paramètre --help à la commande :

/usr/lib/centreon/plugins/centreon-plugin-rust-snmp -H '10.0.0.1' -c 'my-snmp-community' -v '2c' \
--json '/usr/lib/centreon/plugins/rs-collections/operatingsystems-linux-snmp/uptime.json' \
--warning-seconds='' \
--help