Guía de instalación de Prometheus y node_exporter

15 min de lectura - 29 de mayo de 2026

hero section cover
Tabla de contenidos
  • Configuración de la supervisión de servidores con Prometheus y node_exporter
  • Instalación de node_exporter
  • Ejecutar node_exporter como servicio de systemd
  • Configuración de Prometheus para recopilar datos de node_exporter
  • Proteger su pila de monitorización
  • Mejores prácticas de supervisión y próximos pasos
  • Solución de problemas
Compartir

Instale Prometheus y node_exporter, configure los objetivos de scrape, configure los servicios systemd y asegure su pila de monitorización. Paso a paso para Linux.

Configuración de la supervisión de servidores con Prometheus y node_exporter

Prometheus recopila y almacena métricas de series temporales. node_exporter expone datos a nivel del sistema, como el uso de la CPU, la memoria y el disco, para que Prometheus los recopile. Esta guía cubre la instalación de ambos, la configuración de los objetivos de recopilación, la ejecución de node_exporter como servicio de systemd y la restricción del acceso.

Instalación de node_exporter

Descarga la última versión estable desde la página oficial de versiones de GitHub. A fecha de mayo de 2026, es la versión 1.11.1. Sustituye amd64 por arm64 si es necesario.

wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz

Comprueba la suma de comprobación SHA256 con el valor de la página de versiones, luego extrae e instala:

tar -xzvf node_exporter-1.11.1.linux-amd64.tar.gz
sudo mv node_exporter-1.11.1.linux-amd64/node_exporter /usr/local/bin/

Crea un usuario del sistema dedicado sin directorio de inicio y sin shell de inicio de sesión:

sudo useradd --no-create-home --shell /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Pruébelo ejecutando /usr/local/bin/node_exporter directamente y, a continuación, compruebe la salida:

curl http://localhost:9100/metrics

Deberías ver líneas precedidas por node_, que incluyan métricas como node_cpu_seconds_total y node_memory_MemAvailable_bytes. Por defecto, node_exporter expone alrededor de 500 series temporales.

Ejecutar node_exporter como servicio de systemd

Ejecutar node_exporter desde el terminal está bien para realizar pruebas, pero se detiene al cerrar la sesión. Crea un archivo de unidad en /etc/systemd/system/node_exporter.service:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
 
[Service]
User=node_exporter
Group=node_exporter
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/node_exporter
 
[Install]
WantedBy=multi-user.target

Habilita e inicia el servicio:

sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter

Confirma que se está ejecutando con sudo systemctl status node_exporter. La salida debería mostrar active (running).

Si Prometheus se ejecuta en el mismo host, vincula node_exporter solo a localhost cambiando la ExecStart línea:

ExecStart=/usr/local/bin/node_exporter --web.listen-address="127.0.0.1:9100"

Configuración de Prometheus para recopilar datos de node_exporter

Abrir /etc/prometheus/prometheus.yml y añade una tarea en scrape_configs:

scrape_configs:
  - job_name: 'node_exporter'
    scrape_interval: 15s
    static_configs:
      - targets: ['localhost:9100']
        labels:
          env: 'production'

El job_name identifica la fuente en las consultas y los paneles. targets apunta al host y al puerto en los que escucha node_exporter. Las etiquetas como env te ayudan a filtrar las métricas más adelante.

Comprueba la configuración antes de reiniciar:

promtool check config /etc/prometheus/prometheus.yml

Si pasa la prueba, recarga Prometheus sin tiempo de inactividad:

sudo systemctl reload prometheus

Abre http://<your-prometheus-ip>:9090, ve a Status > Targets y comprueba que el trabajo de node_exporter muestra un estado UP en verde. Ejecuta una consulta rápida como node_cpu_seconds_total en el navegador de expresiones para confirmar que los datos fluyen.

Proteger su pila de monitorización

Nunca exponga los puertos 9090 o 9100 a la red pública de Internet. En Ubuntu/Debian, restrinja el acceso de node_exporter a la IP de su servidor Prometheus:

sudo ufw allow from <prometheus-ip> to any port 9100

En CentOS/RHEL con firewalld:

firewall-cmd --permanent --add-port=9100/tcp

Para la interfaz de usuario web de Prometheus, colócala detrás de un proxy inverso como Nginx con autenticación básica y TLS. Una VPN en malla como Tailscale es otra opción si necesitas acceder desde múltiples ubicaciones sin exponer los puertos directamente.

Mejores prácticas de supervisión y próximos pasos

Utilice node_memory_MemAvailable_bytes en lugar de MemFree para las alertas de memoria. MemAvailable Tenga en cuenta los búferes y la caché, lo que ofrece una imagen más precisa de lo que realmente está libre.

Desactiva los colectores que no necesites (wifi, nfs, bcache) con el --no-collector.<name> indicador para reducir el ruido.

Para las alertas de espacio en disco, la predict_linear función PromQL te permite predecir cuándo se llenará un volumen basándose en las tendencias actuales. Establecer una ventana de predicción de 7 días permite detectar fugas lentas antes de que se conviertan en interrupciones del servicio.

Para supervisar varios servidores, instala node_exporter en cada máquina y añade sus direcciones IP a la targets lista en prometheus.yml. Para entornos más grandes, cambia al descubrimiento de servicios basado en archivos en lugar de codificar las IP de forma rígida.

Añadir Grafana te proporciona paneles visuales. El panel completo de Node Exporter (ID 1860) es un buen punto de partida. Alertmanager envía las alertas críticas a Slack, correo electrónico o PagerDuty.

Los servidores dedicados y los planes VPS de FDC son compatibles con Prometheus y node_exporter de forma nativa. Consulte las opciones de servidores dedicados de FDC.

Solución de problemas

ProblemaPosible causaComando para comprobar
El servicio no se iniciaRuta o permisos del binario incorrectosjournalctl -u node_exporter -xe
No se puede acceder a las métricasEl cortafuegos bloquea el puerto 9100 o la dirección de enlace es incorrectass -lntp | grep 9100
Destino inactivo en PrometheusProblema de red o IP de destino incorrecta en prometheus.ymlcurl -I http://<target-ip>:9100/metrics
Faltan métricas específicasRecopilador desactivado por defectonode_exporter --help

Blog

Destacados de la semana

Más artículos
Guía de instalación de Prometheus y node_exporter

Guía de instalación de Prometheus y node_exporter

Instale Prometheus y node_exporter, configure los objetivos de scrape, configure los servicios systemd y asegure su pila de monitorización. Paso a paso para Linux.

15 min de lectura - 29 de mayo de 2026

XDP y eBPF para el procesamiento de paquetes en Linux

14 min de lectura - 27 de mayo de 2026

Más artículos