La grafite è uno strumento gratuito e open source che può essere utilizzato per tracciare e rappresentare graficamente le prestazioni dei sistemi informatici. La grafite è un'applicazione che può essere utilizzata per raccogliere informazioni dal proprio sistema e visualizzarle attraverso la sua interfaccia web.
In questo tutorial, spiegherò come installare e configurare Graphite su Ubuntu 16.04.
Prerequisiti
- Un'istanza del server Vultr Ubuntu 16.04 appena distribuita.
- Un utente non root con i privilegi di sudo impostati sul tuo server.
- Un indirizzo IP statico 192.168.0.227 configurato sul sistema.
Passaggio 1: aggiornare il sistema
Innanzitutto, aggiorna il tuo sistema all'ultima versione stabile eseguendo il comando seguente:
sudo apt-get update -y
sudo apt-get upgrade -y
Una volta aggiornato il sistema, riavvia il sistema per applicare queste modifiche:
sudo reboot
Passaggio 2: installare Graphite
La grafite è composta da diversi componenti tra cui, sussurra l'applicazione web di grafite, il back-end di carbon storage e la libreria del database. Ognuno di questi componenti è disponibile nel repository predefinito di Ubuntu. Puoi installarli semplicemente eseguendo il comando seguente:
sudo apt-get install graphite-web graphite-carbon -y
Una volta completata l'installazione, è possibile procedere al passaggio successivo.
Passaggio 3: installare e configurare PostgreSQL
L'applicazione Web Graphite è un'applicazione Django Python che necessita di PostgreSQL per memorizzare i suoi dati. È possibile installare PostgreSQL e i pacchetti helper eseguendo il comando seguente:
sudo apt-get install postgresql libpq-dev python-psycopg2 -y
Dopo aver installato PostgreSQL, sarà necessario creare un utente PostgreSQL e un database da utilizzare con Graphite.
Innanzitutto, accedi alla shell PostgreSQL con il seguente comando:
sudo -u postgres psql
Quindi, crea un utente di grafite e proteggilo con una password:
postgres=# CREATE USER graphite WITH PASSWORD 'password';
Successivamente, crea un database di grafite e assegna la proprietà all'utente di grafite:
postgres=# CREATE DATABASE graphite WITH OWNER graphite;
Infine, esci dalla shell PostgreSQL:
postgres=# \q
Dopo aver configurato correttamente il database, sarà necessario configurare l'applicazione Web Graphite. Puoi farlo modificando il local_settings.py
file:
sudo nano /etc/graphite/local_settings.py
Modifica il file come mostrato di seguito:
SECRET_KEY = 'your-secret-key'
TIME_ZONE = 'America/Los_Angeles'
USE_REMOTE_USER_AUTHENTICATION = True
DATABASES = {
'default': {
'NAME': 'graphite',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'graphite',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': ''
}
}
Salvare e chiudere il file, al termine.
Quindi, eseguire il comando seguente per sincronizzare il database per creare la struttura corretta:
sudo graphite-manage migrate auth
sudo graphite-manage syncdb
Ti verrà chiesto di creare un account superutente per il database come mostrato nel seguente output:
Operations to perform:
Synchronize unmigrated apps: account, cli, render, whitelist, metrics, url_shortener, dashboard, composer, events, browser
Apply all migrations: admin, contenttypes, tagging, auth, sessions
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Installing custom SQL...
Running migrations:
No migrations to apply.
You have installed Django's auth system, and don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'):
Email address: [email protected]
Password:
Password (again):
Superuser created successfully.
Ora, sarà necessario configurare Carbon, l'archiviazione backend Graphite modificando il file di configurazione del servizio, graphite-carbon
.
sudo nano /etc/default/graphite-carbon
Modifica il file per abilitare carbon-cache
l'avvio all'avvio:
CARBON_CACHE_ENABLED=true
Salvare e chiudere il file, al termine.
Quindi, apri il file di configurazione di Carbon:
sudo nano /etc/carbon/carbon.conf
Modificare il file come mostrato di seguito per abilitare la rotazione del registro:
ENABLE_LOGROTATION = True
Salvare il file, quindi configurare gli schemi di archiviazione. Per fare ciò, modifica il file dello schema di archiviazione per dire a Carbon per quanto tempo conservare i valori e quanto dettagliati dovrebbero essere lì:
sudo nano /etc/carbon/storage-schemas.conf
Aggiungi la seguente sezione alla fine del file:
[test]
pattern = ^test\.
retentions = 6s:4h,1m:1d
Salva e chiudi il file al termine.
Successivamente, dovrai definire il modo in cui desideri che si verifichi l'aggregazione in un file chiamato storage-aggregation.conf
. Copia il file di configurazione di esempio nella directory di configurazione di Carbon:
sudo cp /usr/share/doc/graphite-carbon/examples/storage-aggregation.conf.example /etc/carbon/storage-aggregation.conf
Infine, avvia il servizio Carbon con il seguente comando:
sudo systemctl start carbon-cache
Sarà inoltre necessario installare il server Web Apache per utilizzare l'interfaccia Web di Graphite. Puoi installare Apache con il seguente comando:
sudo apt-get install apache2 libapache2-mod-wsgi -y
Quindi, copia il file di configurazione di esempio di grafite su Apache con il seguente comando:
sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available/
Una volta completata l'installazione, disabilitare il file host virtuale predefinito e abilitare il file host virtuale di grafite con il seguente comando:
sudo a2dissite 000-default
sudo a2ensite apache2-graphite
Infine, riavvia il servizio Apache per applicare queste modifiche:
sudo systemctl restart apache2
Passaggio 7: accedere all'interfaccia Web di Graphite
Successivamente, sarà necessario consentire la porta 80
attraverso il firewall UFW per accedere all'interfaccia Web di Graphite. Puoi farlo eseguendo i seguenti comandi:
sudo ufw allow 80
È tempo di accedere all'interfaccia Web di Graphite. Apri il tuo browser preferito e digita l'URL http://192.168.0.227
. Quindi, inserisci le tue credenziali di accesso (nome utente e password di root), vedrai la schermata di accesso di Graphite.