introduction
Grafana est un logiciel open source qui transforme plusieurs flux provenant de systèmes tels que Graphite, Telegraf et InfluxDB en de belles métriques dans un tableau de bord centralisé.
Ce tutoriel couvrira le processus d'installation de l'interface Web Grafana.
Conditions préalables
- Une instance de serveur Ubuntu 16.04 LTS x64.
- Un utilisateur sudo (ou compte root) .
- Facultatif: un nom DNS (à utiliser avec les certificats Let's Encrypt)
Mettre à jour le système
Mettez à jour votre système avant d'installer Grafana.
apt-get update && apt-get upgrade
Préparation du pare-feu
Durcissons d'abord un peu l'image. Vérifions également si l'image qui a été mise à disposition a été ufw
activée.
root@vultr:~# ufw status
Status: inactive
Par défaut, il est désactivé, nous devrons donc ajouter quelques règles:
- Règle 1: ssh: port TCP 22
- Règle 2: http: port TCP 3000 (port Grafana par défaut)
Exécutez les commandes suivantes une par une.
ufw allow 22/tcp
ufw allow 3000/tcp
Activez les services de pare-feu.
ufw enable
Le pare-feu demandera une boîte de dialogue pour accepter les modifications. Appuyez simplement sur Y.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Installer Grafana
Par défaut, Grafana n'est pas dans les référentiels. Ajoutez la clé de dépôt et les packages.
curl https://packagecloud.io/gpg.key | sudo apt-key add -
Ensuite, ajoutez le référentiel "packagecloud" à vos référentiels.
add-apt-repository "deb https://packagecloud.io/grafana/stable/debian/ stretch main"
Mettez apt
à jour pour récupérer les dernières informations de notre nouveau dépôt "packagecloud".
apt-get update
Nous pouvons maintenant installer Grafana.
apt-get install grafana
Une fois Grafana installé, démarrez-le avec systemctl
.
systemctl start grafana-server
Cela montrera un service Grafana fonctionnel.
systemctl status grafana-server
Démarrez le service Grafana au démarrage.
systemctl enable grafana-server
Désactiver les enregistrements Grafana et l'accès anonyme
Prêt à l'emploi, Grafana permet aux visiteurs de créer des comptes d'utilisateurs et de prévisualiser des tableaux de bord sans inscription. Cela signifie que nous exposons Grafana à l'Internet public. Mais ne vous inquiétez pas, trouvons et désactivons ces paramètres.
Ouvrez d'abord le fichier de configuration de Grafana.
nano /etc/grafana/grafana.ini
Recherchez les allow_sign_up
paramètres sous l'en- [users]
tête.
[users]
# disable user signup / registration
;allow_sign_up = true
Par défaut, il est défini sur true
, modifiez-le false
et décommentez la ligne.
[users]
# disable user signup / registration
allow_sign_up = false
Ensuite, vérifiez que l'accès anonyme est désactivé. Cela peut être trouvé dans les [auth.anonymous]
paramètres.
[auth.anonymous]
# enable anonymous access
;enabled = false
Modifiez-le false
et décommentez la ligne.
[auth.anonymous]
enabled = false
Quittez nano
et enregistrez le fichier.
Pour activer les modifications, redémarrez Grafana.
systemctl restart grafana-server
Vérifiez maintenant que tout fonctionne en vérifiant l'état du service Grafana.
systemctl status grafana-server
Le démon Grafana écoute le portage 3000
. Afin de visiter le tableau de bord Grafana, pointez votre navigateur sur http://192.168.0.1:3000
(remplacez cette IP par votre IP de serveur réelle) et utilisez les informations de connexion par défaut ci-dessous.
Username: admin
Password: admin
Activation d'un certificat HTTPS pour Grafana (facultatif)
Ceci est une étape optionnelle. Si nous avons un nom DNS configuré, nous pouvons utiliser Let's encrypt pour activer HTTPS
notre nouvelle installation Grafana.
Installation et configuration de Nginx
Pour ce faire, nous utiliserons Nginx, car ce logiciel est capable d'utiliser les certificats Let's Encrypt.
Commencez par installer Nginx.
apt-get install nginx
Une fois installé, modifiez la configuration par défaut.
nano /etc/nginx/sites-available/default
Remplacez la configuration par défaut par la configuration suivante.
server {
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Cela créera un proxy pour le site Web fonctionnant au port 80
. Redémarrez Nginx et activez-le au démarrage.
systemctl restart nginx
systemctl enable nginx
Assurez-vous que tout fonctionne.
systemctl status nginx
Désactivez l'ancien port Grafana 3000
et autorisez le trafic sur le port 80
.
ufw allow 80/tcp
ufw delete allow 3000/tcp
Installation de Let's Encrypt
Avant de pouvoir utiliser certbot, nous devons ajouter le PPA correct au système contenant nos packages certbot.
add-apt-repository ppa:certbot/certbot
Appuyez sur ENTERpour accepter le changement de configuration.
Mettez apt
à jour pour rassembler les nouveaux packages.
apt-get update
Installez ensuite le module Nginx pour l'attribution des certificats.
apt-get -y install python-certbot-nginx
Configuration des certificats
Configurez le pare-feu pour autoriser le passage à HTTPS
travers le pare-feu.
ufw allow 443/tcp
Avant de pouvoir demander de nouveaux certificats, nous avons besoin d'un nom DNS.
nano /etc/nginx/sites-available/default
Ajoutez le server_name
paramètre suivant . Ceci est notre nom DNS.
server_name grafana.example.com;
Modifiez la configuration pour refléter ce nouveau paramètre.
server {
server_name grafana.example.com;
listen 0.0.0.0:80;
proxy_request_buffering off;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Assurez-vous que nous n'avons commis aucune erreur et redémarrez Nginx.
nginx -t
systemctl restart nginx
Demandez maintenant un certificat avec certbot.
certbot --nginx -d grafana.example.com
Fournissez votre e-mail et acceptez les questions posées par l'installateur. Vous pouvez dire "Non" en toute sécurité au partage de votre e-mail. Certbot vous demandera automatiquement quoi faire HTTPS
. Nous utiliserons l'option 2: rediriger vers HTTPS.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Renouvellement automatique des certificats
Cryptons les certificats à renouveler. Heureusement, nous pouvons créer un travail cron pour cela. Commencez par éditer la crontab.
crontab -e
Ajoutez la ligne suivante.
05 2 * * * /usr/bin/certbot renew --quiet
Cela vérifiera à 2 h 05 si des certificats nécessitent un renouvellement et les renouvellera.
Grafana fonctionnera HTTPS
maintenant. Une dernière chose est de changer le mot de passe administrateur. Visitez votre installation à https://grafana.example.net
. Par défaut, les informations d'identification pour la connexion sont «admin / admin».
Pour changer le nom d'utilisateur administrateur, cliquez sur l'icône de rouage à gauche, allez dans "Configuration", puis "Admin Serveur" et cliquez sur le nom d'utilisateur administrateur.