J'ai profité de la matinée pour réaliser toute la documentation en lien avec l'installation et la mise en place d'Icinga et Icingaweb2. Ces dernières sont retrouvables ici et ici. Le but de cette dernière est de garder une trace afin de pouvoir refaire une installation rapide et recenser les différents problèmes que j'ai rencontré, et les solutions que j'ai trouvé afin de les résoudre ou de les contourner en utilisant une autre solution plus adaptée.
J'en ai profité par la même occasion pour chercher des nouvelles informations par rapport à la configuration de l'interface graphique Grafana afin de faciliter l'administration d'Icinga2, notamment pour les commandes de vérifications.
Après avoir rédigé les documentations d'Icinga2 et Icingaweb2, j'ai voulu me mettre à la rédaction de l'installation et configuration de Grafana. C'est à ce moment que j'ai réalisé que l'installation réalisée n'était pas adaptée aux contraintes que l'on m'avait demandé puisqu'il fallait uniquement utiliser des paquets stables, et celui utilisé ne l'était plus depuis plusieurs versions. J'ai donc décidé de refaire une installation complète, et pour pouvoir répondre aux attentes, d'utiliser le code source de Grafana afin de mettre en place ce dernier.
Je me suis donc renseigné à ce propos et j'ai utilisé la documentation de Grafana pour installer ce dernier. Cependant, de nombreux problèmes ont été rencontrés, que ce soit lié à des problèmes de compatibilités, de versions trop vieilles/récentes, de paquets manquants, de fichiers installés au mauvais endroit… L'installation prend plus de temps que prévu, et la correction des différents bugs est assez chronophage.
La journée de Mercredi a été principalement occupée à la documentation et à l'installation de grafana par le code source à nouveau. Il existe assez peu d'informations à ce sujet sur le web, sachant que la majeur partie étant sous iOS ou Windows, il a fallu adapter pour une machine Unix.
Beaucoup de problèmes ont été rencontré à cause de cela, ce qui m'a forcé à chercher énormément sur les différents sites d'aide et de renseignement, notamment github et stackoverflow. L'analyse des logs avec mon maître de stage m'a également donné pas mal de renseignements, notamment sur le fait que lors de l'utilisation de la commande “npm” ainsi que “make”, le chemin de base que ce dernier utilisait pour les installations notamment n'étaient pas correct, et il était donc essentiel de rajouter un “prefix” après afin que l'installation se déroule normalement, car autrement, les différentes applications que l'on installe se feront automatiquement dans /usr/local, et l'utilisation de la commande “sudo” ou de l'utilisateur “root” sera obligatoire.
Après avoir réglé tous les problèmes liés aux installations ne se faisant pas au bon endroit, il fallait régler le problème de “npm” et “nodejs” qui n'étaient pas sous une bonne version (npm étant en 2.15.1 et nodejs en 10.0.0-pre). Il a donc fallu qu'avant de lancer le ./configure et le make afin de mettre en place nodejs changer la version qui devrait être installé. Après avoir choisis la version (git checkout v9.11.1), le make et le make install se font normalement.
Une fois toutes les installations terminées, npm était bien sous la version voulue, mais nodejs restait bloqué sous la version 10.0.0-pre qui n'était pas stable et pas adapté à l'utiliastion de npm. Après avoir retenté un make et un make install en ayant au préalable clean et distclean tout ce qui avait été fait avant, le problème subsistait toujours. En suivant plusieurs guides sur internet, j'ai essayé de faire l'installation sous une version antérieure qui avait fonctionné pour certains (qui n'a pas été fructueux), je refais donc un make pour remettre à la version d'origine, ce qui aura provoqué une perte de temps considérable, puisque pendant tout le temps où les “make” se faisaient, je pouvais uniquement faire des recherches internet afin d'essayer de trouver d'où pouvait venir le problème.
L'objectif de la journée ici était de régler le problème de version nodejs qui restait en 10.0.0-pre malgré toutes les modifications faites au préalable avant l'installation. Après des recherches sur Internet, j'ai trouvé qu'il existait 2 commandes qui permettaient ceci : “nvm” (pour Node Version Manager) et “n”.
J'ai donc tout d'abord essayé de mettre en place nvm pour enfin pouvoir modifier la version de nodejs. Après installation via npm, j'ai rencontré des problèmes liés à la configuration de nvm. Tout d'abord, je me suis retrouvé avec le problème “command not found” qui a été réglé après quelques modifications, puis après, même si la commande semblait passer sans renvoyer d'erreur, la version de nodejs restait la même quoi qu'il arrive. Après une tentative de débuggage, le problème subsiste.
Je décide donc de tenter avec “n”. Je télécharge donc ce dernier avec la commande “git clone”, installe ce dernier en pensant à bien modifier le “prefix” afin d'éviter que tout soit installer dans /usr/local, puis après une séance de débuggage, la commande passe et la version est bien installée. Malgré tout, après avoir tapé la commande “node -v”, il était encore affiché que nodejs fonctionnait avec la version 10.0.0-pre. Je me suis donc fié à ce qui a été dit sur Internet et j'ai relancé mon terminal, et effectivement, la version a bien été mise à jour.
J'ai ensuite taper “npm -v” afin de voir sous quelle version npm fonctionnait actuellement (5.6.0), et j'ai vu un message s'affichait indiquant que la version 5.8.0 était téléchargeable grâce à la commande “npm i npm”. Une fois cette dernière tapée, un message d'erreur s'affiche. Je corrige donc cette dernière, relance la commande et obtient une nouvelle erreur. Une fois corrigée, la commande passe désormais, mais même après redémarrage du terminal, la version de npm reste 5.6.0 et non pas 5.8.0.