Projet

Général

Profil

Ajouter une sonde Cucumber Nagios sur l'infrastructure de l'April

Voici un petit How-to sur l'ajout d'une sonde Nagios sur l'infrastructure de l'April.

Nouveau projet

Créer son projet en local

Voir ici pour l'installation : https://github.com/auxesis/cucumber-nagios
Le script d'Installation utilisé à l'April : https://agir.april.org/projects/admins/repository/revisions/master/entry/puppetmaster/modules/april_nagios/files/install-cucumber.sh

Le plus simple pour créer un nouveau projet est d'utiliser le script "cucumber-nagios-gen" fourni lors de l'installation de Cucumber-Nagios.
Par exemple, pour créer le projet www.april.org (après s'être assuré que $GEM_HOME/bin soit bien dans le path) :

cucumber-nagios-gen project www.april.org

(Le nom du projet est en général le nom du site testé).

Une fois cela fait, on se déplace dans le dossier du projet, puis on génère les scénarios de test (ici, il sera nommé www-wiki) :

cd www.april.org
cucumber-nagios-gen feature www.april.org www-wiki

Cela nous génère tous les fichiers nécessaires au fonctionnement du scénario www-wiki.
Deux vont nous intéresser au final :

De base, les deux fichiers sont déjà en partie remplis. Il est possible de juste compléter le scénario, ou d'ajouter des steps à la collection déjà présente.

Déploiement du projet avec Puppet

Une fois les scénarios écrits et testés en local, il faut les déployer sur l'infrastructure de l'April, via Puppet.
Pour cela, il faut copier les fichiers de scénarios et éventuellement les fichiers step associés au bon endroit dans le puppetmaster (sur le dépôt Git de l'April), puis déclarer le projet dans le manifest de la machine à monitorer pour qu'il soit déployé de manière effective.

Les étapes pour ajouter un nouveau projet :
  • Créer le dossier puppetmaster/modules/april_nagios/files/projects_features/<project_name> dans le dépôt Git,
  • Copier tous les fichiers <name>.feature de votre projet dans puppetmaster/modules/april_nagios/files/projects_features/<project_name>/<name>. Pensez à retirer l'extension .feature !,
  • Si des steps ont étés ajoutés au catalogue, penser à copier le catalogue de chaque feature dans puppetmaster/modules/april_nagios/files/projects_features/<project_name>/steps/
  • Définissez le projet Cucumber dans le manifest de la machine à monitorer :
    april_nagios::check_cucumber { '<project_name>': project => '<project_name>' }

Nouveau scénario (feature) dans un projet existant

Pour ajouter un nouveau scénario ou mettre à jour un scénario dans un projet existant, il suffit d'ajouter ou de modifier les fichiers de scénario dans le répertoire puppetmaster/modules/april_nagios/files/projects_features/<project_name> sur le dépôt Git. Ne pas oublier de mettre à jour le fichier des steps si il a été modifié.