Comment installer le logiciel de surveillance Grafana Linux sur Ubuntu 22.04
Grafana est un tableau de bord de métriques et un outil de visualisation de données gratuits, open source et riches en fonctionnalités. Il est conçu pour Graphite, Elasticsearch, OpenTSDB, Prometheus et InfluxDB pour surveiller les métriques à partir d'une interface Web. Il s'agit d'une multiplateforme et dispose de plus de 100 plugins pour la collecte, le stockage, la visualisation et le partage de données. Il vous permet de créer des alertes et des notifications pour vos données et de faciliter la collaboration avec vos coéquipiers via des fonctionnalités de partage.
Ce tutoriel expliquera comment installer Grafana 8 sur Ubuntu 22.04.
Conditions préalables
- Un serveur exécutant Ubuntu 22.04.
- Un nom de domaine valide pointé avec l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Commencer
Avant de commencer, il est recommandé de mettre à jour votre système vers la version mise à jour. Vous pouvez mettre à jour tous les packages à l'aide de la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois tous les packages mis à niveau, installez les autres dépendances requises à l'aide de la commande suivante :
apt-get install gnupg2 curl wget git software-properties-common -y
Une fois tous les packages installés, vous pouvez passer à l’étape suivante.
Installez Grafana 8 sur Ubuntu 22.04
Par défaut, Grafana n'est pas inclus dans le référentiel par défaut d'Ubuntu 22.04. Vous devrez donc ajouter le dépôt Grafana à l'APT. Vous pouvez l'ajouter à l'aide de la commande suivante :
curl https://packages.grafana.com/gpg.key | apt-key add -
add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
Une fois le référentiel ajouté, mettez à jour le cache du référentiel et installez Grafana à l'aide de la commande suivante :
apt-get update -y
apt-get install grafana -y
Une fois Grafana installé, démarrez et activez le service Grafana à l'aide de la commande suivante :
systemctl start grafana-server
systemctl enable grafana-server
Vous pouvez également vérifier l'état du service Grafana avec la commande suivante :
systemctl status grafana-server
Vous obtiendrez le résultat suivant :
? grafana-server.service - Grafana instance
Loaded: loaded (/lib/systemd/system/grafana-server.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2022-08-06 09:33:06 UTC; 7s ago
Docs: http://docs.grafana.org
Main PID: 69737 (grafana-server)
Tasks: 9 (limit: 2242)
Memory: 37.1M
CPU: 1.580s
CGroup: /system.slice/grafana-server.service
??69737 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg>
Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=secrets t=2022-08-06T09:33:08.517381147Z level=info msg="Envelope encryption state" >
Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=query_data t=2022-08-06T09:33:08.527197639Z level=info msg="Query Service initializa>
Aug 06 09:33:08 ubuntu2204 grafana-server[69737]: logger=live.push_http t=2022-08-06T09:33:08.544920469Z level=info msg="Live Push Gateway in>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert t=2022-08-06T09:33:13.723313517Z level=warn msg="failed to delete old am con>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=infra.usagestats.collector t=2022-08-06T09:33:13.885398731Z level=info msg="register>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=server t=2022-08-06T09:33:13.886028388Z level=info msg="Writing PID file" path=/run/>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=http.server t=2022-08-06T09:33:13.900761945Z level=info msg="HTTP Server Listen" add>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert t=2022-08-06T09:33:13.901994976Z level=info msg="warming cache for startup"
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=ngalert.multiorg.alertmanager t=2022-08-06T09:33:13.902506414Z level=info msg="start>
Aug 06 09:33:13 ubuntu2204 grafana-server[69737]: logger=grafanaStorageLogger t=2022-08-06T09:33:13.926571246Z level=info msg="storage starti>
Par défaut, Grafana écoute sur le port 3000. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep 3000
Vous obtiendrez le résultat suivant :
LISTEN 0 4096 *:3000 *:* users:(("grafana-server",pid=69737,fd=8))
Installez Nginx comme proxy inverse pour Grafana
Par défaut, Grafana est accessible via le port 3000. Vous devrez donc installer et configurer Nginx en tant que proxy inverse pour que Grafana puisse y accéder via le port 80. Tout d'abord , installez Nginx à l'aide de la commande suivante :
apt-get install nginx -y
Une fois Nginx installé, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/conf.d/grafana.conf
Ajoutez les lignes suivantes :
server {
server_name grafana.example.com;
listen 80;
access_log /var/log/nginx/grafana.log;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez Nginx pour toute erreur de syntaxe avec la commande suivante :
nginx -t
Si tout va bien, vous obtiendrez le résultat suivant :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ensuite, redémarrez Nginx pour appliquer les modifications de configuration.
systemctl restart nginx
Vous pouvez également vérifier l'état de Nginx avec la commande suivante :
systemctl status nginx
Vous obtiendrez le résultat suivant :
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-08-06 09:35:32 UTC; 4s ago
Docs: man:nginx(8)
Process: 70326 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 70327 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 70328 (nginx)
Tasks: 2 (limit: 2242)
Memory: 2.6M
CPU: 42ms
CGroup: /system.slice/nginx.service
??70328 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
??70329 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Aug 06 09:35:32 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Aug 06 09:35:32 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
À ce stade, Nginx est installé et configuré comme proxy inverse pour Grafana. Vous pouvez maintenant passer à l'étape suivante.
Accéder au tableau de bord Grafana
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Grafana en utilisant l'URL http://grafana.example.com. Vous serez redirigé vers la page de connexion Grafana :
Fournissez le nom d'utilisateur administrateur par défaut, le mot de passe admin/admin et cliquez sur le bouton Connexion. Vous devriez voir l'écran de réinitialisation du mot de passe Grafana :
Définissez votre nouveau mot de passe et cliquez sur le bouton Soumettre. Vous devriez voir le tableau de bord Grafana sur l'écran suivant :
Sécurisez Grafana avec Let's Encrypt
Ensuite, vous devrez installer le package client Certbot pour installer et gérer Let's Encrypt SSL.
Tout d’abord, installez le Certbot avec la commande suivante :
apt-get install certbot python3-certbot-nginx -y
Une fois l'installation terminée, exécutez la commande suivante pour installer Let's Encrypt SSL sur votre site Web :
certbot --nginx -d grafana.example.com
Il vous sera demandé de fournir une adresse e-mail valide et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for grafana.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/grafana.conf
Ensuite, choisissez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS, comme indiqué ci-dessous :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
Tapez 2 et appuyez sur Entrée pour terminer l'installation. Vous devriez voir le résultat suivant :
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/grafana.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://grafana.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=grafana.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/grafana.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/grafana.example.com/privkey.pem
Your cert will expire on 2022-05-07. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.
Conclusion
Toutes nos félicitations! vous avez installé avec succès Grafana 8 avec Nginx comme proxy inverse et Let's Encrypt SSL sur Ubuntu 22.04. Vous pouvez désormais ajouter vos sources de données externes à Grafana et commencer à les surveiller depuis le tableau de bord Grafana. N'hésitez pas à me demander si vous avez des questions.