Comme vous le savez certainement, la mise en place de traps SNMP n’est pas chose facile. Le but de cet article permet de vous guider à travers un cas pratique que vous pourrez appliquer à un autre contexte.

Avant de créer notre service passif, nous allons crée un modèle de service passif. Pour ce faire il faudra se rendre dans le menu Configuration=>Services=>Templates puis créer un nouveau template en cliquant sur « Add ». Il vous faudra ajouter les informations comme dans le screenshot ci-dessous:

Dans ce modèles nous avons créer une commande qui renvoie toujours OK (check_dummy) et avec le code de retour zéro donc qui sera toujours en OK. Effectivement c’est notre trap qui enverra une alerte et donc changera le status du service. Il ne faudra pas oublier de cocher la case « Is volatile » à « Yes » pour être notifié du changement de statut (OK à CRITICAL).

Dans cette exemple les notifications ne sont pas activées mais si vous utilisez ce mécanisme pour être alerté en cas de changement de statut, il faudra l’activer.

Nous pouvons aussi ajouter un « contrôle de fraîcheur », effectivement dans le cadre de la supervision passive l’échange est unidirectionnelle. C’est à dire que c’est la ressource supervisé qui va envoyé son état (en cas d’interruption événementielle) au serveur de supervision. Ce contrôle de fraîcheur permet de s’assurer que nous avons bien le dernier état de notre ressource supervisé, en lançant le check_dummy à intervalle régulier. Cette intervalle régulier est la valeur du paramètre « Freshness Threshold ».

Ces deux paramètres se configurent dans l’onglet « Data Processing », comme dans l’onglet ci-dessous:

Voilà notre modèle de service passif a été crée. Maintenant nous allons créer notre service, et pour ce faire il faudra se rendre dans le menu Configuration=>Services.

Nous allons créer un service nommé « trap-test-2″, les paramètres ajoutés sont ceux présents dans le screenshot ci-dessous:

Vous remarquerez que vous avons mis un contrôle actif toute les heures car Nagios refuse de créer un service sans intervalle de contrôle. Puis nous allons relier une trappe de la catégorie « générique » à notre service. Pour ce faire nous irons dans le menu relation et allons rajouter notre serveur « Centreon-Server » puis notre trappe « ColdStart ». Pour information ColdStart signifie que le service snmpd redémarre. Donc le but de cette trappe SNMP est de nous avertir lorsque le service snmpd redémarre. Vous pouvez voir l’onglet relation ci-dessous:

Une fois notre service enregistré, il ne faudra pas oublier de générer les traps, pour ce faire Configuration=>Nagios=>Snmp traps.

Une fois les trappes générés, il faudra générer la configuration de Nagios, pour ce faire Configuration=>Nagios.

Une fois la configuration de Nagios généré nous allons démarrer le service snmptrapd, puis nous simulerons la réception d’une trappe.

Dans votre terminal, il faudra lancer la commande suivante:

root@central-centreon:~# snmptrap -v2c -c public 127.0.0.1 0 .1.3.6.1.6.3.1.1.5.1 .1 s ''

Vous vous apercevrez que le service test-trap-2 change de statut et passe en WARNING.

Voilà vous avez mis en place un service passif avec traps SNMP sur votre serveur Centreon.