introduzione
Grafana è un software open source che trasforma feed multipli da sistemi come Graphite, Telegraf e InfluxDB in splendide metriche in una dashboard centralizzata.
Questo tutorial coprirà il processo di installazione dell'interfaccia web di Grafana.
Prerequisiti
- Un'istanza del server x64 LTS Ubuntu 16.04.
- Un utente sudo (o account root) .
- Opzionale: un nome DNS (da utilizzare con i certificati Let's Encrypt)
Aggiorna il sistema
Aggiorna il tuo sistema prima di installare Grafana.
apt-get update && apt-get upgrade
Preparare il firewall
Prima induriamo un po 'l'immagine. Controlliamo anche se l'immagine che è stata fornita è stata ufw
abilitata.
root@vultr:~# ufw status
Status: inactive
Di default è disabilitato, quindi dovremo aggiungere alcune regole:
- Regola 1: ssh: porta TCP 22
- Regola 2: http: porta TCP 3000 (porta Grafana predefinita)
Esegui i seguenti comandi uno per uno.
ufw allow 22/tcp
ufw allow 3000/tcp
Abilita i servizi firewall.
ufw enable
Il firewall richiederà una finestra di dialogo per accettare le modifiche. Basta premere Y.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Installazione di Grafana
Per impostazione predefinita, Grafana non è nei repository. Aggiungi la chiave repo e i pacchetti.
curl https://packagecloud.io/gpg.key | sudo apt-key add -
Successivamente, aggiungi il repository "packagecloud" ai tuoi repository.
add-apt-repository "deb https://packagecloud.io/grafana/stable/debian/ stretch main"
Aggiornamento apt
per recuperare le informazioni più recenti dal repository "packagecloud" appena aggiunto.
apt-get update
Ora possiamo installare Grafana.
apt-get install grafana
Una volta installato Grafana, avviarlo con systemctl
.
systemctl start grafana-server
Questo mostrerà un servizio Grafana funzionante.
systemctl status grafana-server
Avviare il servizio Grafana all'avvio.
systemctl enable grafana-server
Disabilitazione delle registrazioni Grafana e accesso anonimo
Immediatamente, Grafana consente ai visitatori di creare account utente e visualizzare in anteprima dashboard senza registrarsi. Ciò significa che stiamo esponendo Grafana a Internet pubblico. Ma non preoccuparti, troviamo e disabilita queste impostazioni.
Per prima cosa apri il file di configurazione di Grafana.
nano /etc/grafana/grafana.ini
Individua le allow_sign_up
impostazioni sotto l' [users]
intestazione.
[users]
# disable user signup / registration
;allow_sign_up = true
Per impostazione predefinita, è impostato su true
, quindi modificalo false
e decommenta la linea.
[users]
# disable user signup / registration
allow_sign_up = false
Successivamente, verifica che l'accesso anonimo sia disabilitato. Questo può essere trovato sotto le [auth.anonymous]
impostazioni.
[auth.anonymous]
# enable anonymous access
;enabled = false
Modificalo in false
e decommenta la linea.
[auth.anonymous]
enabled = false
Esci nano
e salva il file.
Per attivare le modifiche, riavviare Grafana.
systemctl restart grafana-server
Ora verifica che tutto funzioni controllando lo stato del servizio di Grafana.
systemctl status grafana-server
Il demone Grafana ascolta la porta 3000
. Per visitare il Grafana Dashboard, punta il tuo browser su http://192.168.0.1:3000
(sostituisci questo IP con il tuo IP effettivo del server) e usa le credenziali di accesso predefinite di seguito.
Username: admin
Password: admin
Abilitazione di un certificato HTTPS per Grafana (opzionale)
Questo è un passaggio facoltativo. Se abbiamo un nome DNS configurato, possiamo usare Let's encrypt per abilitare la HTTPS
nostra nuova installazione di Grafana.
Installazione e configurazione di Nginx
Per raggiungere questo obiettivo, utilizzeremo Nginx, poiché questo software è in grado di utilizzare i certificati Let's Encrypt.
Inizia installando Nginx.
apt-get install nginx
Una volta installato, modifica la configurazione predefinita.
nano /etc/nginx/sites-available/default
Sostituisci la configurazione predefinita con la seguente configurazione.
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;
}
}
Ciò creerà un proxy per il sito Web in esecuzione sulla porta 80
. Riavvia Nginx e abilitalo all'avvio.
systemctl restart nginx
systemctl enable nginx
Assicurarsi che tutto funzioni.
systemctl status nginx
Disabilita il vecchio porto di Grafana 3000
e consenti il traffico sul porto 80
.
ufw allow 80/tcp
ufw delete allow 3000/tcp
Installazione Let's Encrypt
Prima di poter usare certbot, dobbiamo aggiungere il PPA corretto al sistema contenente i nostri pacchetti certbot.
add-apt-repository ppa:certbot/certbot
Premere ENTERper accettare la modifica della configurazione.
Aggiorna apt
per raccogliere i nuovi pacchetti.
apt-get update
Quindi installare il modulo Nginx per l'assegnazione dei certificati.
apt-get -y install python-certbot-nginx
Configurazione dei certificati
Configurare il firewall per consentire HTTPS
attraverso il firewall.
ufw allow 443/tcp
Prima di poter richiedere nuovi certificati, abbiamo bisogno di un nome DNS.
nano /etc/nginx/sites-available/default
Aggiungi la seguente server_name
impostazione. Questo è il nostro nome DNS.
server_name grafana.example.com;
Modificare la configurazione per riflettere questa nuova impostazione.
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;
}
}
Assicurati di non aver commesso errori e di riavviare Nginx.
nginx -t
systemctl restart nginx
Ora richiedi un certificato con certbot.
certbot --nginx -d grafana.example.com
Fornisci la tua e-mail e accetta le domande poste dall'installatore. Puoi tranquillamente dire "No" per condividere la tua email. Certbot chiederà automaticamente cosa fare HTTPS
. Utilizzeremo l'opzione 2: reindirizzamento a 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
Certificati di rinnovo automatico
Crittografiamo i certificati che richiedono il rinnovo. Fortunatamente possiamo creare un lavoro cron per questo. Inizia modificando il crontab.
crontab -e
Aggiungi la seguente riga.
05 2 * * * /usr/bin/certbot renew --quiet
Questo verificherà alle 2:05 AM se qualche certificato richiede un rinnovo e li rinnoverà.
Grafana funzionerà HTTPS
ora. Un'ultima cosa è cambiare la password dell'amministratore. Visita la tua installazione all'indirizzo https://grafana.example.net
. Per impostazione predefinita, le credenziali per l'accesso sono "admin / admin".
Per modificare il nome utente dell'amministratore, fare clic sull'icona a forma di ingranaggio a sinistra, andare su "Configurazione", quindi "Server Admin" e fare clic sul nome utente amministratore.