DigitalOcean | Configurer nginx sur un droplet grafana

digitalocean_logo

Dans cet article, je vais parler de comment j’ai procédé pour avoir une instance Grafana accessible depuis un nom de domaine public.


Etape 1: création du serveur

La première étape afin d’obtenir cela est de créer un droplet sur DigitalOcean.

nouveau_droplet

Une fois que vous êtes sur la page pour créer un droplet, il faut aller dans l’onglet Marketplace, puis rechercher grafana. Vous devriez avoir ceci:

nouveau_grafana

Sur le bas de la fenêtre de création, vous devrez sélectionner la grosseur du serveur, ainsi qu’un mot de passe root pour le nouveau serveur crée.

Vous pouvez aussi suivre ce lien pour créer un droplet Grafana.

Etape 2: connexion au serveur

Ensuite, une fois votre droplet crée, il faut vous connecter sur le serveur. Pour cela, il faut se retrouver dans l’onglet « Droplets » sur la gauche de l’écran et cliquer sur le nouveau droplet crée. Vous devrez voir sur le haut de l’écran l’adresse IPV4 du serveur. Récupérez cette adresse et faites cette commande dans un terminal: ssh root@adresse_IPV4. Le terminal va vous demander si vous acceptez de faire confiance à ce nouvel hôte, vous devez répondre « Yes ». Puis vous devrez saisir le mot de passe que vous avez configuré lors de la création du droplet.

Etape 3: mises à jour et installation

Une fois connecté au serveur, vous allez pouvoir configurer grafana et nginx afin d’y avoir accès depuis votre nom de domaine. Mais avant ça il faut d’abord effectuer les mises à jour des paquets et installer nginx.

Pour cela, exécutez cette premiere commande pour mettre à jour la liste des paquets: sudo apt update

Puis cette commande pour mettre à jour les paquets sur le serveur: sudo apt upgrade -y 

Enfin, cette commande pour installer nginx sur le serveur: sudo apt install nginx -y

A partir de maintenant le serveur est mis à jour et nginx est prêt à etre configuré. Une vérification de l’installation peut être effectuée en exécutant la commande systemctl status nginx qui permet de connaitre l’état de nginx. Normalement si tout s’est bien passé, vous devriez avoir quelque chose comme cela:

systemctl_status_nginx

Etape 4: configurer Grafana et Nginx

La première étape est de configurer le fichier grafana.ini qui se trouve dans /etc/grafana/ . Pour cela, faire la commande nano /etc/grafana/grafana.ini. Ensuite, editez la ligne ;domain en enlevant le ; au début de la ligne, ce qui permettra de prendre en compte le paramètre, et compléter sa valeur en y inscrivant le nom du domaine sur lequel vous souhaitez avoir Grafana accessible. Dans mon cas cette ligne affiche maintenant le resultat de: domain = grafana.cloud.fredericpinaud.fr . Puis une fois édité, tapez Ctrl+O -> yes puis Ctrl+x. Cela permettra d’enregistrer et quitter le fichier.

La deuxième étape est maintenant de configurer Nginx. L’objectif de Nginx est de faire un reverse proxy, c’est à dire qu’en appelant un nom de domaine (grafana.cloud.fredericpinaud.fr), le serveur va automatiquement rediriger l’utilisateur vers le service grafana qui est accessible sur le port 3000 du serveur.

Pour cela, il faut créer un fichier de configuration unique pour ce cas d’utilisation. Dans un premier temps il faut donc créer un fichier grafana.cloud.fredericpinaud.fr dans le dossier /etc/nginx/sites-available/ . Pour cela, il faut exécuter la commande nano /etc/nginx/sites-available/grafana.cloud.fredericpinaud.frpuis écrire ces quelques lignes:

server {
        listen 80;
        listen [::]:80;
        server_name grafana.cloud.fredericpinaud.fr www.grafana.cloud.fredericpinaud.fr;
        location / {
                proxy_pass http://localhost:3000;
                proxy_set_header Host "grafana.cloud.fredericpinaud.fr";
        }
}

Cela permet d’écouter sur le port 80 avec l’adresse grafana.cloud.fredericpinaud.fr et www.grafana.cloud.fredericpinaud.fr et de rediriger vers http://localhost:3000 .

Etape 5: configurer le nom de domaine

En effet pour que cette procédure fonctionne il est nécessaire d’avoir un nom de domaine fonctionnel. Pour cela, je vous invite à consulter un de mes articles où j’explique cela.

 

J’espère que cet article vous aura plu et vous aura permis de vous donner un peu envie de faire comme moi. En attendant je vous dis à très bientôt pour de nouveaux articles DevOps et maison connectée !

Fred’

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.