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-wikiCela nous génère tous les fichiers nécessaires au fonctionnement du scénario www-wiki.
Deux vont nous intéresser au final :
- www.april.org/features/www.april.org/www-wiki.feature, qui contiendra notre scénario en langage "humain", à éditer.
- www.april.org/features/www.april.org/steps/www-wiki_steps.rb qui va contenir les différentes "étapes" possibles dans un scénarios, et ce à quoi elles correspondent.
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.
- 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é.