Rundeck: Planifiez vos tâches ingrates

Rundeck est un outil open source de planification de jobs fonctionnant sur un serveur web et possédant une interface intuitive. Fini les tâches répétitives, vous pouvez rejouer vos scripts automatiquement et ce sur plusieurs machines dédiées. Chaque étape individuelle créée peut être intégrée à un flux. L’outil est aussi pilotable via une API web.

Liste des fonctionnalités

  • API web REST
  • Exécution de commandes distribuées
  • Excution via ssh
  • Flux de plusieurs étapes
  • Lancement manuel ou programmé
  • Interface web
  • Gestion des accès par roles et intégration LDAP
  • Gestion des logs
  • Intégration avec d’autres outils
  • Outil en lignes de commandes

Rundeck permet de lancer des commandes de manière plus élégante que via un terminal, inutile de les stocker sur un wiki ou dans des fichiers excel, il est possible d’appeler des commandes sur d’autres systèmes tels que Puppet, Chef, Jenkins, que ce soit sur le cloud ou en local, sur des machines virtuelles et d’automatiser des taches qui incombent à ces différents systèmes. Il est possible de déployer ou de maintenir des applications en pilotant des outils de gestion.

art20_img1_rundeck_planifiez_jobs_ingrats

Quelques définitions

Pour mieux comprendre le fonctionnement de Rundeck, voici quelques termes utilisés :

Projet
Permet de séparer les domaines d’activités, un serveur peut en contenir plusieurs.

Noeuds
C’est une ressource ou instance qui peut être physique ou virtuelle.

Commande
Un simple texte en ligne de commande exécutée sur un nœud.

Les exécutions
Représente l’activité d’un job qui se déroule ou qui se termine, cette activité est enregistrée pour suivre l’évolution de vos jobs de mainère détaillée (monitoring, barre de status, résumé)

Plugins
Ce sont des fichiers qui contiennent des fournisseurs de services en standard ou qui peuvent être ajoutées, ces services donne à l’outil la capacité d’utiliser des protocoles comme ssh ou scp ou encore d’appeler des URL.

Installation

Rundeck fonctionne sur toutes les plate-formes mais étant un utilisateur d’Ubuntu, je donnerai les instructions propres à ce système. Comme pré-requis, il faut installer la machine virtuelle java au minimum en version 1.7

Les sources sont disponibles ici, si vous souhaitez tester Rundeck, le plus simple étant de télécharger le jar exécutable et de le lancer directement , il se trouve ici

Paramétrage

Il faut ajouter quelques variables d’environnements pour la bonne exécution de l’outil. Le plus simple étant d’ajouter ces variables dans /etc/environnement, j’ai ensuite créé un répertoire rundeck dans mon répertoire home et copié le jar à l’intérieur.

mkdir ~/rundeck
echo 'RDECK_BASE=$HOME/rundeck' | sudo tee -a /etc/environment
echo 'PATH=$PATH:$RDECK_BASE/tools/bin' | sudo tee -a /etc/environment
echo 'MANPATH=$MANPATH:$RDECK_BASE/docs/man' | sudo tee -a /etc/environment 

Exécution de rundeck

Lancez la commande suivante :

 java -Xms512M -Xmx1024M -XX:MaxPermSize=256M -jar rundeck-launcher-2.2.3.jar 

un serveur jetty se lance

serveur jetty

connectez vous à l’adresse : http://localhost:4440

écran d'accueil Rundeck

Créer un projet

On peut soit le faire via l’interface graphique ou en ligne de commande avec la commande shell rd-project

rd-project -p MonProjet --action create

ou via l’interface

création projet dans rundeck

Créer un job

création job rundeck

art20_img6_rundeck_planifiez_jobs_ingrats

Toutes les étapes en anglais sont décrites ici

Programmer un job

La fonction la plus intéressante de Rundeck, est que celui-ci utilise la librairie Quartz, on peut paramétrer le/les moment(s) où l’exécution se fera (à la manière d’une crontab)

art20_img7_rundeck_planifiez_jobs_ingrats

Conclusion

Complet, intuitif, bien pensé et surtout open source, Rundeck a tout pour plaire, il peut rendre de nombreux services et faciliter la vie de nos chers administrateurs, bref un outil à recommander de toute urgence. Je ne manquerai pas de faire un prochain article sur la planification de jobs issus de Talend communautaire, Rundeck peut facilement remplacer la bonne vieille crontab… à suivre…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Petit calcul pour valider votre commentaire! merci * Time limit is exhausted. Please reload CAPTCHA.