Ghost AcademySecLearn// Seguridad Informática
Prometheus + Grafana
Prometheus + Grafana

Guía completa de instalación, configuración y visualización. Stack de monitorización de métricas para sistemas Linux.

Time-series DB PromQL :9090 Dashboards Alerting :3000 Node Exporter systemd Ubuntu

Stack Prometheus + Grafana

Base de datos de métricas
Prometheus
Motor de recolección y almacenamiento de métricas en series temporales. Recoge datos de los exporters, los indexa y los expone mediante PromQL para su consulta.
Puerto: :9090 · Sin autenticación por defecto
Capa de visualización
Grafana
Plataforma de visualización y análisis de datos de series temporales. Se conecta a Prometheus como data source y construye dashboards, gráficos y alertas.
Puerto: :3000 · Usuario admin / contraseña admin

Flujo de datos

Sistema Linux
Node Exporter
→
Prometheus
:9090 (scrape)
→
Grafana
:3000 (data source)
→
Dashboard
Navegador

Parte A — Instalación de Prometheus

Paso 1 — Crear Usuario, Grupos y Directorios

1
Crear el usuario y grupo 'Prometheus'
bash
sudo useradd --no-create-home --shell /bin/false Prometheus
2
Crear el directorio de configuración y el de datos
bash
sudo mkdir -p /etc/prometheus
sudo mkdir -p /var/lib/prometheus

Paso 2 — Descargar el Binario

1
Navegar a /tmp y descargar la versión para Linux (ej. v2.47.0)
bash
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
ℹ️ Versión y arquitectura: Cambia v2.47.0 y amd64 por la versión actual y la arquitectura de tu sistema si es necesario.
2
Descomprimir y navegar al directorio
bash
tar xvfz prometheus-2.47.0.linux-amd64.tar.gz
cd prometheus-2.47.0.linux-amd64
3
Copiar binarios y archivos de configuración
bash
sudo cp prometheus /usr/local/bin/
sudo cp promtool /usr/local/bin/
sudo cp prometheus.yml /etc/prometheus/
sudo cp -r consoles /etc/prometheus
sudo cp -r console_libraries /etc/prometheus

Paso 3 — Asignar Permisos y Propiedad

1
Permisos para los binarios
bash
sudo chown Prometheus:Prometheus /usr/local/bin/prometheus
sudo chown Prometheus:Prometheus /usr/local/bin/promtool
2
Permisos para el directorio de configuración
bash
sudo chown -R Prometheus:Prometheus /etc/prometheus
sudo chown -R Prometheus:Prometheus /etc/prometheus/*
3
Permisos para el directorio de datos
bash
sudo chown -R Prometheus:Prometheus /var/lib/prometheus

Paso 4 — Configurar el Servicio Systemd

bash
sudo nano /etc/systemd/system/prometheus.service
systemd unit file
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=Prometheus
Group=Prometheus
Type=simple
# Directorio de trabajo: importante para la inicialización
WorkingDirectory=/var/lib/prometheus
# Comando de inicio con ruta de almacenamiento y puerto
ExecStart=/usr/local/bin/prometheus     --config.file=/etc/prometheus/prometheus.yml     --web.listen-address=:9090     --storage.tsdb.path=/var/lib/prometheus
LimitNOFILE=65536
Restart=always

[Install]
WantedBy=multi-user.target
image1.png

// Archivo prometheus.service en nano

Paso 5 — Recargar, Iniciar y Habilitar

1
Recargar systemd para reconocer el nuevo servicio
bash
sudo systemctl daemon-reload
2
Iniciar el servicio
bash
sudo systemctl start prometheus
3
Habilitar para inicio automático al arranque
bash
sudo systemctl enable prometheus
4
Verificar el estado
bash
sudo systemctl status prometheus
✅ Resultado esperado: El servicio debería estar active (running). Grafana podrá conectarse a http://localhost:9090.

Acceso a Prometheus (Opcional)

Puedes verificar que Prometheus está funcionando accediendo desde el navegador:

url
http://tu_servidor_ip:9090
ℹ️ Sin autenticación por defecto: Prometheus está diseñado para funcionar en una red de confianza (centro de datos o red privada). Su interfaz web en el puerto 9090 no tiene autenticación ni pantalla de login por defecto.

Parte B — Instalación de Grafana

1. Configurar los Repositorios de Grafana

1
Instalar paquetes de soporte
bash
sudo apt install -y software-properties-common wget apt-transport-https
⚠️ Si hay error de bloqueo de APT: Puedes forzar la terminación del proceso bloqueador (úsalo con precaución), eliminar los archivos de bloqueo y reconfigurar dpkg:
bash
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a
2
Descargar e instalar la clave GPG de Grafana
bash
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
3
Añadir el repositorio al sistema
bash
echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
4
Actualizar e instalar Grafana
bash
sudo apt update
sudo apt install grafana

2. Iniciar y Habilitar el Servicio

bash
sudo systemctl start grafana-server
sudo systemctl daemon-reload
sudo systemctl enable grafana-server
sudo systemctl status grafana-server

3. Acceso a Grafana

url
http://tu_servidor_ip:3000
CampoValor por defecto
Usuarioadmin
Contraseñaadmin
Se te pedirá que cambies la contraseña inmediatamente al primer acceso.
image2.png

// Pantalla de login de Grafana en :3000

Parte C — Conectar Grafana a Prometheus

Una vez que ambos servicios están funcionando, hay que indicarle a Grafana dónde encontrar las métricas de Prometheus.

1
Abrir Connections → Add new connection

En el menú lateral, selecciona Connections y luego Add new connection.

image3.png

// Menú Connections en Grafana

2
Buscar y seleccionar Prometheus
image4.png

// Buscador de data sources

image5.png

// Selección de Prometheus

Haz clic en "Add new data source" para acceder al formulario de configuración.

3
Introducir la URL del servidor Prometheus

En el campo HTTP > URL, introduce la dirección de Prometheus:

url
http://localhost:9090

O la IP de tu servidor si Prometheus corre en otra máquina.

image6.png

// Campo URL en la configuración del data source

4
Guardar y probar la conexión

Haz clic en Save & Test. Si la conexión es exitosa, ya puedes crear paneles con datos de Prometheus.

image7.png

// Confirmación Save & Test

image8.png

// Menú lateral de Grafana

Menú de Grafana — Referencia

Grafana es una plataforma de visualización y análisis de datos de series temporales. Su menú guía a través de las funciones principales:

Visualización y Monitoreo

Alertas y Conexiones

Administración

Importar un Dashboard

El proceso se basa en obtener el ID del Dashboard desde la comunidad de Grafana y pegarlo directamente en tu instalación.

Dashboards recomendados

1860
Node Exporter Full
Métricas del servidor: CPU, memoria, disco, red. Requiere Node Exporter instalado. Opción A recomendada.
2494
Prometheus 2.0 Stats
Métricas del propio servidor Prometheus: scrapes, latencia, series activas. Opción B.
Puedes explorar más dashboards en grafana.com/grafana/dashboards/1860-node-exporter-full/

Pasos de importación

PasoAcción en Grafana
1.En el menú lateral, haz clic en Dashboards.
2.En la esquina superior derecha, haz clic en + New → Import.
3.En el campo Import via grafana.com, introduce el ID elegido (ej. 1860).
4.Haz clic en Load.
image9.png

// Pantalla de importación de dashboard

Configurar y guardar

CampoValor a usar
NamePuedes dejarlo por defecto o cambiarlo (ej. "Sistema Operativo").
FolderElige una carpeta para organizarlo (ej. General).
Prometheus (Source)CRÍTICO: Selecciona la fuente de datos Prometheus que configuraste en el puerto 9090.

Haz clic en Import. Si Prometheus está activo y recolectando métricas, el panel se cargará inmediatamente con gráficos del estado de tu sistema.

image10.png

// Dashboard Node Exporter Full en Grafana

Verificar Targets en Prometheus

Puedes comprobar el estado de los objetivos (targets) que Prometheus está monitorizando directamente desde su interfaz web:

url
http://[Tu_IP_de_VM]:9090/targets
image11.png

// Estado de targets en Prometheus /targets

image12.png

// Detalle de un target activo

✅ Estado UP: Si los targets aparecen en verde con estado UP, Prometheus está recolectando métricas correctamente y Grafana podrá visualizarlas en los dashboards importados.