Aller au contenu | Aller au menu | Aller à la recherche

Installer Kibana par Puppet (3/5)

kibana-logoSi on regarde un peu les commentaires qu'on peut trouver sur le site de Kibana, on remarquera que tout le monde s'accorde à dire que c'est super simple à installer. Seulement, voilà : quand on a accès à Internet à partir de son serveur, oui, c'est simple. Mais quand on n'a pas de réseau (comme c'est souvent le cas dans un réseau d'entreprise), ça devient un enfer : les librairies ne correspondent pas, des dépendances manquants sont encore à télécharger, impossible de trouver une source correcte pour bundler, ... De surcroit, même avec le réseau, si l'objectif est de faire un module Puppet, les commandes de téléchargement et de compilation font qu'il est quasi-impossible d'écrire un module (ou tout du moins, d'écrire un module propre). C'est pour tout cela que j'ai créé des RPMs pour toutes les dépendances et fichiers nécessaires !

Bien entendu, même avec des RPMs, il faut pouvoir les diffuser jusqu'au serveur sur lequel kibana doit être installé. C'est à cet effet que j'installe MRepo qui permet de créer son propre dépôt de RPM local. C'est à travers ce dépot que seront installés les RPMs nécessaires au projet.
Tout d'abord, on installe les packages nécessaires :

[root@sophie ~]# yum -y -q install createrepo mrepo

Par défaut, un répertoire /etc/mrepo.conf.d est créé pour y stocker la configuration de nos sources de dépôt. C'est donc là qu'on y copie notre fichier de configuration de notre dépôt kibana :

[root@sophie mrepo.conf.d]# cat > /etc/mrepo.conf.d/kibana.conf << EOF
[kibana]
name = Kibana for \$arch
arch = x86_64
metadata = repomd repoview
kibana = file:///var/data/mrepo/kibana
EOF

Il faut comprendre de ce fichier de configuration qu'un dépot nommé kibana sera créé à partir des RPMs trouvés dans /var/data/mrepo/kibana. On crée donc ce répertoire et on y télécharge les RPMs nécessaires :

[root@sophie mrepo.conf.d]# mkdir -p /var/data/mrepo
[root@sophie mrepo.conf.d]# wget http://www.jesuisungeek.com/public/files/rhel/kibana-repo.el`facter lsbmajdistrelease`.tar.gz -O - | tar zxvf - -C /var/data/mrepo
[root@sophie mrepo.conf.d]# chown -R apache:apache /var/mrepo/kibana-x86_64/kibana/
[root@sophie mrepo.conf.d]# chmod -R 755 /var/mrepo/kibana-x86_64/kibana/

L'instruction utilisé dans le wget facter lsbmajdistrelease renvoie 5 pour une CentOS 5 (ou RHEL 5) et 6 pour une CentOS 6 (ou RHEL 6). Cela permet de télécharger uniquement le bon jeu de RPMs.

Dans le cas où, comme indiqué plus haut, il est impossible de télécharger à partir d'Internet sur le serveur sur lequel on souhaite installer Kibana, les fichiers d'archives sont attachés à ce post. Dans ce cas, il suffit de transférer et tout décompresser dans le répertoire /var/data/mrepo

Il ne reste plus qu'à générer le dépôt désiré :

[root@sophie mrepo.conf.d]# mrepo -ugv

Normalement, si tout se passe bien, on obtient un affichage comme celui-ci :

kibana-x86_64: Updating Kibana for x86_64
kibana-x86_64: Mirror packages from file:///var/data/mrepo/kibana to /var/mrepo/kibana-x86_64/kibana
kibana-x86_64: Repository kibana changed (new: 24, removed: 0)
kibana-x86_64: Distribution updated (new: 24, removed: 0)
Sending mail to: root@localhost
kibana-x86_64: Generating Kibana for x86_64 meta-data
mrepo: kibana-x86_64: Version of createrepo could not be found. Assuming newer than 0.4.6.
kibana-x86_64: Create repomd repository for kibana

Où on voit bien apparaitre que 24 nouveaux packages ont été ajoutés au dépot (ce qui correspond au nombre des RPMs téléchargés). Le dépôt étant bien généré, il faut à présent, modifier la configuration de Apache pour que les machines clients puissent télécharger les RPMs désirés par HTTP. Par convention, j'ai décidé d'affecter le port 8080 au MRepo, mais n'importe quel autre port fera l'affaire. Dans tous les cas, il ne pas oublier d'autoriser les flux entrants vers ce port.
Dans mon vas, j'ai ajouté la ligne suivante au fichier /etc/sysconfig/iptables :

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

Pour en revenir à MRepo, la modification est assez simple : en effet, l'installation du RPM de MRepo a ajouté des fichiers de configuration dans le répertoire /etc/httpd/conf.d donc il n'y a plus qu'à les modifier :

[root@sophie conf.d]# cat >> /etc/httpd/conf.d/mrepo.conf << EOF
Listen 8080
<VirtualHost sophie:8080>
       DocumentRoot /var/www
</VirtualHost>
EOF

Et bien, entendu, ne pas oublier de redémarrer Apache, de façon pour que la nouvelle configuration soit prise en compte :

[root@sophie conf.d]# service httpd restart

En se connectant à l'adresse http://sophie:8080/mrepo, on peut voir désormais naviguer parmi l'arborescence du dépôt. MRepo configuré

QR code
Jean-Baptiste Langlois

Auteur: Jean-Baptiste Langlois

Restez au courant de l'actualité et abonnez-vous au Flux RSS de cette catégorie

Commentaires (0)

Soyez le premier à réagir sur cet article

Ajouter un commentaire Fil des commentaires de ce billet

:-) ;-) :-/ :mdr: :-D :-( :-C 8-) :-O :-s :siffle: :-P :love: :oops: :money: :caca:


À voir également

Icinga avec LDAPS

Connexion en LDAPS avec Icinga

Authentification sur Icinga via un serveur LDAP nécessitant un certificat

Lire la suite

icinga-api-2.PNG

Remonter les checks Icinga grâce à Ruby

Classe Ruby permettant de remonter des informations grâce à l'interface REST de Icinga-Web

Lire la suite