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) :
- OS-Linux-SNMP-Rs-custom
- Non rattachés à un modèle d'hôte
| Alias | Modèle de service | Description |
|---|---|---|
| Cpu | OS-Linux-Cpu-SNMP-Rs-custom | Contrôle du taux d'utilisation du CPU de la machine |
| Memory | OS-Linux-Memory-SNMP-Rs-custom | Contrôle l'utilisation de la mémoire vive (RAM) |
| Swap | OS-Linux-Swap-SNMP-Rs-custom | Contrôle du taux d'utilisation de la mémoire virtuelle |
| Uptime | OS-Linux-Uptime-SNMP-Rs-custom | Duré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é.
| Alias | Modèle de service | Description |
|---|---|---|
| Disk-Global | OS-Linux-Disk-Global-SNMP-Rs-custom | Contrôle du taux d'espace libre disponible des disques |
| Memory | OS-Linux-Memory-64bits-SNMP-Rs-custom | Contrôle l'utilisation de la mémoire vive (RAM) lorsque la taille dépasse 4TB |
| Process-Generic | OS-Linux-Process-Generic-SNMP-Rs-custom | Contrôle permettant de vérifier que les processus Windows sont démarrés et de surveiller leur utilisation de la mémoire vive et du CPU |
| Swap | OS-Linux-Swap-64bits-SNMP-Rs-custom | Contrôle du taux d'utilisation de la swap lorsque la taille dépasse 4TB |
Les services listés ci-dessus ne sont pas créés automatiquement lorsqu'un modèle d'hôte est appliqué. Pour les utiliser, créez un service manuellement et appliquez le modèle de service souhaité.
Métriques & statuts collectés
Voici le tableau des services pour ce connecteur, détaillant les métriques et statuts rattachés à chaque service.
- Cpu
- Disk-Global
- Memory
- Process-Generic
- Swap
- Uptime
| Nom | Unité |
|---|---|
| avg.cpu.usage.percent | % |
| cpu#core.cpu.usage.percent | % |
| Nom | Unité |
|---|---|
| storage.description#storage.usage.bytes | B |
| storage.description#storage.usage.percent | % |
| Nom | Unité |
|---|---|
| memory.free.bytes | B |
| memory.usage.bytes | B |
| memory.usage.percent | % |
| Nom | Unité |
|---|---|
| processes.name#process.memory.bytes | B |
| processes.name#process.cpu.percent | % |
| Nom | Unité |
|---|---|
| swap.free.bytes | B |
| swap.usage.bytes | B |
| swap.usage.percent | % |
| Nom | Unité |
|---|---|
| system.uptime.seconds | s |
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.
- 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 :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 12 & 13
dnf install centreon-pack-operatingsystems-linux-snmp-rs
dnf install centreon-pack-operatingsystems-linux-snmp-rs
apt install centreon-pack-operatingsystems-linux-snmp-rs
- 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 :
- Alma / RHEL / Oracle Linux 8
- Alma / RHEL / Oracle Linux 9
- Debian 12 & 13
dnf install centreon-plugin-operatingsystems-linux-snmp-rs
dnf install centreon-plugin-operatingsystems-linux-snmp-rs
apt install centreon-plugin-operatingsystems-linux-snmp-rs
Utiliser le connecteur de supervision
Utiliser un modèle d'hôte issu du connecteur
- Ajoutez un hôte à Centreon depuis la page Configuration > Hôtes.
- Complétez les champs Nom, Alias & IP Address/DNS correspondant à votre ressource.
- 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.
- Renseignez les macros désirées. Attention, certaines macros sont obligatoires.
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| SNMP_EXTRA_OPTIONS | Any extra option you may want to add to every command (a --verbose flag for example). Toutes les options sont listées ici. |
- 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
- 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.
- 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.
- Cpu
- Disk-Global
- Memory
- Process-Generic
- Swap
- Uptime
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| WARNING_AVERAGE | Warning threshold | 90 | |
| CRITICAL_AVERAGE | Critical threshold | 95 | |
| WARNING_CORE | Warning threshold for the metric 'core.cpu.usage.percent' | ||
| CRITICAL_CORE | Critical threshold for the metric 'core.cpu.usage.percent' | ||
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| INCLUDE_NAME | Include filter (can be used multiple times) | .* | |
| WARNING_BYTES | Warning threshold for the metric 'storage.usage.bytes' | 80 | |
| CRITICAL_BYTES | Critical threshold for the metric 'storage.usage.bytes' | 90 | |
| WARNING_PERCENT | Warning threshold for the metric 'storage.usage.percent' | ||
| CRITICAL_PERCENT | Critical threshold for the metric 'storage.usage.percent' | ||
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| WARNING_BYTES | Warning threshold for the metric 'memory.usage.bytes' | ||
| CRITICAL_BYTES | Critical threshold for the metric 'memory.usage.bytes' | ||
| WARNING_PERCENT | Warning threshold for the metric 'memory.usage.percent' | 90 | |
| CRITICAL_PERCENT | Critical threshold for the metric 'memory.usage.percent' | 95 | |
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| INCLUDE_NAME | Include filter (can be used multiple times) | .* | |
| EXCLUDE_NAME | Exclude filter (can be used multiple times) | ^$ | |
| NO_DATA_STATUS | Status when the filters keep no data: OK, WARNING, CRITICAL or UNKNOWN | CRITICAL | |
| WARNING_CPU | Warning threshold for the metric 'process.cpu.percent' | ||
| CRITICAL_CPU | Critical threshold for the metric 'process.cpu.percent' | ||
| WARNING_MEMORY | Warning threshold for the metric 'process.memory.bytes' | ||
| CRITICAL_MEMORY | Critical threshold for the metric 'process.memory.bytes' | ||
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| WARNING_BYTES | Warning threshold for the metric 'swap.usage.bytes' | ||
| CRITICAL_BYTES | Critical threshold for the metric 'swap.usage.bytes' | ||
| WARNING_PERCENT | Warning threshold for the metric 'swap.usage.percent' | 10 | |
| CRITICAL_PERCENT | Critical threshold for the metric 'swap.usage.percent' | 30 | |
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
| Macro | Description | Valeur par défaut | Obligatoire |
|---|---|---|---|
| WARNING_SECONDS | Warning threshold for the metric 'system.uptime.seconds' | 3600: | |
| CRITICAL_SECONDS | Critical threshold for the metric 'system.uptime.seconds' | ||
| EXTRA_OPTIONS | Any extra option you may want to add to the command (a --verbose flag for example). Toutes les options sont listées ici. |
- 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 :
| Mode | Modè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 :
| Option | Description |
|---|---|
| --hostname | Hostname or IP address (default: localhost) |
| --port | SNMP port (default: 161) |
| --snmp-version | SNMP version (default: 2c) |
| --json | JSON command definition file |
| --filter-in | Include filter (can be used multiple times) |
| --filter-out | Exclude filter (can be used multiple times) |
| --no-data-status | Status when the filters keep no data: OK, WARNING, CRITICAL or UNKNOWN (default: UNKNOWN) |
| --check-format | Check JSON file validity and exit |
| --check-response | Display raw SNMP response |
| --list-counters | List all available metrics |
| --help | Print this help message |
Options des modes
Les options disponibles pour chaque modèle de services sont listées ci-dessous :
- Cpu
- Disk-Global
- Memory
- Process-Generic
- Swap
- Uptime
| Option | Description |
|---|---|
| --warning-core | Warning threshold for the metric 'core.cpu.usage.percent'. |
| --critical-core | Critical threshold for the metric 'core.cpu.usage.percent'. |
| --warning-avg | Warning threshold for the metric 'avg.cpu.usage.percent'. |
| --critical-avg | Critical threshold for the metric 'avg.cpu.usage.percent'. |
| Option | Description |
|---|---|
| --warning-bytes | Warning threshold for the metric 'storage.usage.bytes'. |
| --critical-bytes | Critical threshold for the metric 'storage.usage.bytes'. |
| --warning-prct | Warning threshold for the metric 'storage.usage.percent'. |
| --critical-prct | Critical threshold for the metric 'storage.usage.percent'. |
| Option | Description |
|---|---|
| --warning-free-bytes | Warning threshold for the metric 'memory.free.bytes'. |
| --critical-free-bytes | Critical threshold for the metric 'memory.free.bytes'. |
| --warning-bytes | Warning threshold for the metric 'memory.usage.bytes'. |
| --critical-bytes | Critical threshold for the metric 'memory.usage.bytes'. |
| --warning-prct | Warning threshold for the metric 'memory.usage.percent'. |
| --critical-prct | Critical threshold for the metric 'memory.usage.percent'. |
| Option | Description |
|---|---|
| --warning-process-memory | Warning threshold for the metric 'process.memory.bytes'. |
| --critical-process-memory | Critical threshold for the metric 'process.memory.bytes'. |
| --warning-process-cpu | Warning threshold for the metric 'process.cpu.percent'. |
| --critical-process-cpu | Critical threshold for the metric 'process.cpu.percent'. |
| Option | Description |
|---|---|
| --warning-free-bytes | Warning threshold for the metric 'swap.free.bytes'. |
| --critical-free-bytes | Critical threshold for the metric 'swap.free.bytes'. |
| --warning-bytes | Warning threshold for the metric 'swap.usage.bytes'. |
| --critical-bytes | Critical threshold for the metric 'swap.usage.bytes'. |
| --warning-prct | Warning threshold for the metric 'swap.usage.percent'. |
| --critical-prct | Critical threshold for the metric 'swap.usage.percent'. |
| Option | Description |
|---|---|
| --warning-seconds | Warning threshold for the metric 'system.uptime.seconds'. |
| --critical-seconds | Critical threshold for the metric 'system.uptime.seconds'. |
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