Prometheus es una herramienta de monitoreo y alerta de código abierto, ampliamente utilizada para supervisar sistemas y servicios. Node Exporter es un componente de Prometheus que se encarga de exponer métricas del sistema operativo. En este artículo, te mostraremos cómo instalar Prometheus y Node Exporter en Debian 12 paso a paso. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor con Debian 12 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.

Paso 1: Actualizar el Sistema

Primero, es importante asegurarse de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

Paso 2: Crear Usuarios para Prometheus y Node Exporter

Para mayor seguridad, crearemos usuarios dedicados para Prometheus y Node Exporter:

sudo useradd --no-create-home --shell /bin/false prometheus
sudo useradd --no-create-home --shell /bin/false node_exporter

Paso 3: Instalar Prometheus

Descargar Prometheus

Descarga la última versión de Prometheus desde su sitio oficial. Navega a la página de lanzamientos de Prometheus y copia el enlace de la versión más reciente. Luego, descarga y extrae el archivo:

cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz
tar -xvzf prometheus-2.32.1.linux-amd64.tar.gz
cd prometheus-2.32.1.linux-amd64

Mover Archivos y Configurar Prometheus

Mueve los archivos de Prometheus a sus ubicaciones correspondientes y establece los permisos adecuados:

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

sudo cp prometheus /usr/local/bin/
sudo cp promtool /usr/local/bin/
sudo cp -r consoles /etc/prometheus
sudo cp -r console_libraries /etc/prometheus
sudo cp prometheus.yml /etc/prometheus

sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
sudo chown -R prometheus:prometheus /var/lib/prometheus

Crear el Servicio de Systemd para Prometheus

Crea un archivo de servicio para Prometheus:

sudo nano /etc/systemd/system/prometheus.service

Añade el siguiente contenido:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

Recarga el daemon de systemd y habilita el servicio:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

Paso 4: Instalar Node Exporter

Descargar Node Exporter

Descarga la última versión de Node Exporter desde su sitio oficial. Navega a la página de lanzamientos de Node Exporter y copia el enlace de la versión más reciente. Luego, descarga y extrae el archivo:

cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar -xvzf node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64

Mover Archivos y Configurar Node Exporter

Mueve el binario de Node Exporter a su ubicación correspondiente y establece los permisos adecuados:

sudo cp node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Crear el Servicio de Systemd para Node Exporter

Crea un archivo de servicio para Node Exporter:

sudo nano /etc/systemd/system/node_exporter.service

Añade el siguiente contenido:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

Recarga el daemon de systemd y habilita el servicio:

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

Paso 5: Configurar Prometheus para Recopilar Métricas de Node Exporter

Edita el archivo de configuración de Prometheus para agregar el trabajo de scraping de Node Exporter:

sudo nano /etc/prometheus/prometheus.yml

Añade el siguiente bloque bajo la sección scrape_configs:

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

Guarda el archivo y reinicia Prometheus para aplicar los cambios:

sudo systemctl restart prometheus

Paso 6: Verificar la Instalación

Para verificar que Prometheus y Node Exporter están funcionando correctamente, abre tu navegador web y navega a http://tu_dominio_o_IP:9090. Deberías ver la interfaz de Prometheus.

Para ver las métricas de Node Exporter, navega a http://tu_dominio_o_IP:9100/metrics.

Para mejorar el rendimiento y la gestión de tu infraestructura de monitoreo con Prometheus y Node Exporter, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Cloud VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones de monitoreo. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.