📌 Guía de instalación de Graphite en Ubuntu 22.04 (mediante APT)
1️⃣ Paso 1: Actualizar el sistema
🖥️ Actualizar los repositorios y el sistema:
sudo apt-get update -y
sudo apt-get upgrade -y
2️⃣ Paso 2: Instalar Apache y mod_wsgi
⚙️ Instalar Apache y mod_wsgi:
sudo apt-get install apache2 libapache2-mod-wsgi-py3 -y
3️⃣ Paso 3: Instalar Graphite y Carbon
💻 Instalar Graphite y Carbon:
sudo apt-get install graphite-web graphite-carbon -y
4️⃣ Paso 4: Configurar Carbon
🔧 Habilitar Carbon:
sudo nano /etc/default/graphite-carbon
# Cambiar a:
CARBON_CACHE_ENABLED=true
🔧 Reiniciar servicio:
sudo systemctl start carbon-cache
sudo systemctl status carbon-cache
5️⃣ Paso 5: Rutas de interés
📂 Rutas de archivos importantes:
- Código fuente:
/usr/lib/python3/dist-packages/graphite/ - Archivo de configuración:
/etc/graphite/local_settings.py - Archivos web:
/usr/share/graphite-web/ - Base de datos: PostgreSQL instalada manualmente
6️⃣ Paso 6: Instalar Python y dependencias
🔧 Instalar:
sudo apt install python3-dev python3-pip libcairo2-dev libffi-dev build-essential -y
sudo apt install python3-psycopg2 -y
7️⃣ Paso 7: Instalar PostgreSQL
📦 Instalar y configurar base de datos:
sudo apt-get install postgresql postgresql-contrib libpq-dev -y
sudo -u postgres psql
CREATE DATABASE graphite;
CREATE USER graphite WITH PASSWORD 'tu contraseña';
GRANT ALL PRIVILEGES ON DATABASE graphite TO graphite;
\q (para salir del entorno sql)
8️⃣ Paso 8: Configurar local_settings.py
📄 Modificar configuración:
sudo nano /opt/graphite/webapp/graphite/local_settings.py
✏️ Cambios importantes:
- 🔐 SECRET_KEY generado con:
python3 -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
- 📌 ALLOWED_HOSTS = ['*']
- 🌍 TIME_ZONE = 'Europe/Madrid'
- 🔓 USE_REMOTE_USER_AUTHENTICATION = True
- 🛠️ Configuración de base de datos (PostgreSQL):
DATABASES = {
'default': {
'NAME': 'graphite',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': 'graphite',
'PASSWORD': 'tu_contraseña',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
✅ Guarda y cierra el archivo con Ctrl + O, Enter y Ctrl + X.
9️⃣ Paso 9: Migraciones Django
⚙️ Ejecutar migraciones:
sudo graphite-manage migrate auth
sudo graphite-manage migrate
sudo graphite-manage createsuperuser
🔟 Paso 10: Crear enlace simbólico
sudo ln -s /etc/graphite/local_settings.py /usr/lib/python3/dist-packages/graphite/local_settings.py
1️⃣1️⃣ Paso 11: Configurar Apache
sudo a2dissite 000-default
sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available/
sudo a2ensite apache2-graphite
1️⃣2️⃣ Paso 12: Enlazar recursos estáticos Django
sudo ln -s /usr/lib/python3/dist-packages/django/contrib/admin/static/admin/
/usr/share/graphite-web/static/admin
1️⃣3️⃣ Paso 13: Permisos y reinicio
🔒 Ajustar permisos y reiniciar:
sudo useradd -r -s /usr/sbin/nologin graphite
sudo chown _graphite:_graphite /var/log/graphite/*.log
sudo chown -R _graphite:_graphite /var/lib/graphite/whisper
sudo chmod -R 775 /var/lib/graphite/whisper
sudo systemctl restart carbon-cache
sudo systemctl reload apache2
1️⃣4️⃣ Acceso a la interfaz web de Graphite
🌐 Accede a:
http://[tu_ip_local]:[puerto]
🔵 Nota: El puerto se configura en /etc/apache2/sites-available/apache2-graphite.conf.
Si no lo cambiaste, es el 80. En mi caso, configuré el puerto 8888:
http://localhost:8888