Instalación Software · 11 min read · Oct 09, 2025

Cómo instalar Grafana y Prometheus en Ubuntu 24.04

Grafana es una plataforma de visualización de datos de código abierto y multiplataforma desarrollada por Grafana Labs. Grafana proporciona una aplicación web interactiva de visualización de datos que incluye gráficos, diagramas y alertas. Con Grafana, puedes consultar, visualizar, configurar alertas y explorar métricas, registros y trazas de TSDB. Es una herramienta poderosa que convierte los datos de la base de datos de series temporales (TSDB) en un gráfico y visualización perspicaces.

En Grafana, puedes agregar los datos de tu base de datos de series temporales a través de la ‘Fuente de Datos’. Grafana admite múltiples fuentes de datos como Prometheus, InfluxDB, PostgreSQL, Loki, Jaeger, Graphite, Google Cloud Monitoring, AWS CloudWatch, Azure Monitor y muchas más.

En este tutorial, aprenderás a instalar Grafana, Prometheus y node_exporter en servidores Ubuntu 24.04. También instalarás Nginx como un proxy inverso para Grafana, integrarás node_exporter y Prometheus, y luego agregarás Prometheus como una fuente de datos al panel de Grafana.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • Dos o tres servidores Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.

Instalando Grafana en Ubuntu

Grafana es una aplicación web para la visualización de datos. Para instalar Grafana, necesitas agregar el repositorio de Grafana. En este ejemplo, también instalarás Nginx como un proxy inverso para Grafana.

Instalando dependencias y agregando un repositorio

En esta sección, instalarás dependencias incluyendo Nginx, y luego agregarás el repositorio de Grafana.

Primero, ejecuta el siguiente comando para instalar las dependencias para Grafana. Escribe Y para confirmar la instalación.

sudo apt install gnupg2 apt-transport-https software-properties-common wget nginx

install deps

Ahora agrega la clave GPG de Grafana y el repositorio con el siguiente comando.

wget -q -O - https://packages.grafana.com/gpg.key > grafana.key cat grafana.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/grafana.gpg > /dev/null
echo ‘deb [signed-by=/etc/apt/trusted.gpg.d/grafana.gpg] https://packages.grafana.com/oss/deb stable main’ | sudo tee /etc/apt/sources.list.d/grafana.list

Luego, actualiza y refresca tu índice de paquetes con el siguiente comando:

sudo apt update

add repo and update

Instalando y configurando Grafana

Después de agregar el repositorio de Grafana, instalarás el paquete de Grafana con el gestor de paquetes APT. Y luego configurarás Grafana para que se ejecute en localhost con un dominio como howtoforge.local.

Para instalar Grafana, ejecuta el siguiente comando apt. Escribe Y para proceder con la instalación.

sudo apt install grafana

install grafana

Una vez que la instalación haya finalizado, recarga el gestor de systemd con el siguiente comando:

sudo systemctl daemon-reload

Ahora puedes iniciar y habilitar el grafana-server con el siguiente comando systemctl. Luego, verifica para asegurarte de que el servicio esté en funcionamiento.

sudo systemctl enable --now grafana-server  
sudo systemctl status grafana-server

En la siguiente salida, puedes ver que el grafana-server está en funcionamiento y habilitado.

start enable verify grafana

Con el grafana-server en funcionamiento, lo configurarás para que se ejecute en localhost.

Abre la configuración de Grafana /etc/grafana/grafana.ini con el editor nano.

sudo nano /etc/grafana/grafana.ini

Cambia la configuración predeterminada con lo siguiente. Asegúrate de cambiar la opción domain con tu nombre de dominio local para Grafana. Para este ejemplo, ejecutarás Grafana dentro del dominio howtoforge.local.

[server]

# La dirección IP a la que vincularse, vacía vinculará a todas las interfaces
http_addr = localhost

# El puerto http a utilizar
http_port = 3000

# El nombre de dominio público utilizado para acceder a grafana desde un navegador
domain = howtoforge.local

Cuando termines, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para reiniciar grafana-server y aplicar tus cambios. Con esto, Grafana debería estar funcionando en localhost con el puerto HTTP predeterminado 3000.

sudo systemctl restart grafana-server

Configurando Nginx como un proxy inverso

En esta sección, crearás un nuevo bloque de servidor Nginx como un proxy inverso para el grafana-server que se está ejecutando en localhost con el puerto 3000.

Crea una nueva configuración de bloque de servidor Nginx /etc/nginx/sites-available/grafana.conf con el editor nano.

sudo nano /etc/nginx/sites-available/grafana.conf

Agrega la siguiente configuración para configurar Nginx como un proxy inverso para Grafana. Asegúrate de cambiar la opción server_name con tu nombre de dominio de Grafana.

# esto es necesario para proxy Grafana Live WebSocket connections.
map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
    listen      80;
    server_name howtoforge.local;

  root /usr/share/nginx/html;
  index index.html index.htm;


  access_log /var/log/nginx/grafana-access.log;
  error_log /var/log/nginx/grafana-error.log;

  location / {
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }

  # Proxy Grafana Live WebSocket connections.
  location /api/live {
    rewrite  ^/(.*)  /$1 break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://localhost:3000/;
  }
}

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para activar el bloque del servidor grafana.conf y verificar la sintaxis de Nginx. Si tienes la sintaxis correcta, verás una salida test is Successful - syntax is OK.

sudo ln -s /etc/nginx/sites-available/grafana.conf /etc/nginx/sites-enabled/  
sudo nginx -t

setup nginx

A continuación, ejecuta el comando systemctl a continuación para reiniciar y verificar el estado del servidor web Nginx.

sudo systemctl restart nginx  
sudo systemctl status nginx

Verás que el servidor web Nginx está en funcionamiento:

check nginx

A continuación, visita tu nombre de dominio de Grafana como http://howtoforge.local/. Si tu instalación es exitosa, se te pedirá la página de inicio de sesión de Grafana.

Inicia sesión con el usuario predeterminado admin y la contraseña admin.

login grafana

Una vez que hayas iniciado sesión, ingresa una nueva contraseña para tu instalación de Grafana y haz clic en Enviar para confirmar.

change password

Verás el panel de Grafana como el siguiente:

dashboard

Instalando y configurando Prometheus

Prometheus es una plataforma de monitoreo y alerta. Con Grafana en funcionamiento, instalarás Prometheus en el servidor 192.168.5.16.

Instalando Prometheus

En esta sección, instalarás Prometheus manualmente descargando el binario de Prometheus a tu sistema. Antes de eso, también crearás un nuevo usuario del sistema y prometheus.

Primero, ejecuta el siguiente comando para agregar un nuevo usuario y grupo prometheus.

sudo groupadd --system prometheus  
sudo useradd -s /sbin/nologin --system -g prometheus prometheus

Crea un nuevo directorio de datos /var/lib/prometheus y directorios de configuración /etc/prometheus.

sudo mkdir -p /var/lib/prometheus  
for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done

Descarga la última versión de Prometheus para Linux con el siguiente comando.

curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

Una vez descargado, extrae el archivo binario de Prometheus con el comando tar y entra en él.

tar xvf prometheus*.tar.gz  
cd prometheus*/

Mueve los archivos binarios prometheus y promtool al directorio /usr/local/bin. Y luego mueve los directorios de configuración y el archivo prometheus.yml al directorio /etc/prometheus.

sudo mv prometheus promtool /usr/local/bin/  
sudo mv consoles console_libraries prometheus.yml /etc/prometheus/

Por último, ejecuta el siguiente comando para cambiar los permisos y la propiedad del directorio de configuración y datos de Prometheus al usuario prometheus.

for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done  
for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done  
sudo chown -R prometheus:prometheus /var/lib/prometheus/

Configurando Prometheus

Después de haber instalado Prometheus, asegurarás Prometheus utilizando basic_auth o autenticación básica.

Instala el paquete apache2-utils con el siguiente comando apt.

sudo apt install apache2-utils -y

install apache2-utils

Ahora ejecuta el comando htpasswd a continuación para generar una contraseña bcrypt para el usuario admin. Escribe tu contraseña y repítela, y luego copia la contraseña generada.

htpasswd -nB admin

A continuación, ejecuta el comando nano a continuación para crear un nuevo archivo /etc/prometheus/web.yml.

sudo nano /etc/prometheus/web.yml

Agrega la siguiente configuración y asegúrate de cambiar la contraseña bcrypt a continuación.

# basic_auth
basic_auth_users:
  admin: $2y$05$s8U/BrE5JhSO31XKSbtj8u8cPECULs3emEhlDfCB2GW1UefQ9x00C

Guarda y sal del archivo cuando termines.

Ahora abre la configuración predeterminada de Prometheus /etc/prometheus/prometheus.yml con nano.

sudo nano /etc/prometheus/prometheus.yml

Cambia el job_name predeterminado para prometheus como el siguiente y asegúrate de cambiar el usuario y la contraseña de basic_auth.

scrape_configs:
  # El nombre del trabajo se agrega como una etiqueta `job=` a cualquier serie de tiempo extraída de esta configuración.
  - job_name: "prometheus"

    # metrics_path predeterminado a '/metrics'
    # scheme predeterminado a 'http'.
    # agrega configuraciones para certificado y autenticación
    scheme: http
    basic_auth:
      username: "admin"
      password: "password"

    static_configs:
      # si usas un certificado válido, establece el mismo nombre de host en el certificado
      - targets: ["localhost:9090"]

Guarda y sal del archivo.

Por último, ejecuta el siguiente comando para cambiar la propiedad de los archivos prometheus.yml y web.yml al usuario prometheus.

sudo chown prometheus: /etc/prometheus/{prometheus.yml,web.yml}

Ejecutando Prometheus como un servicio systemd

Crea un nuevo archivo de servicio systemd /etc/systemd/system/prometheus.service con el siguiente editor nano.

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

Agrega las siguientes líneas al archivo. Con esto, ejecutarás Prometheus en segundo plano como un servicio systemd y asegurarás la consola web a través del archivo web.yml.

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=prometheus
Group=prometheus
ExecReload=/bin/kill -HUP $MAINPID
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 \
 --web.listen-address=0.0.0.0:9090 \
 --web.config.file=/etc/prometheus/web.yml \

SyslogIdentifier=prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando para recargar el gestor de systemd y aplicar tus cambios.

sudo systemctl daemon-reload

configure prometheus

Luego, inicia y habilita el servicio prometheus usando el siguiente comando systemctl, y asegúrate de que el servicio esté en funcionamiento.

sudo systemctl enable --now prometheus  
sudo systemctl status prometheus

En la siguiente salida, puedes ver que el servicio prometheus está en funcionamiento y habilitado.

check prometheus

Instalando node_exporter

Ahora que Grafana y Prometheus están en funcionamiento, descargarás e instalarás node_exporter. El node_exporter te permite recopilar datos para el monitoreo básico del sistema.

Descarga el archivo binario de node_exporter con el siguiente comando curl.

curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d ‘"’ -f 4|wget -qi -

Una vez descargado, extrae el node_exporter y entra en él.

tar -xvf node_exporter*.tar.gz cd node_exporter*/

Ahora copia el archivo binario node_exporter al directorio /usr/local/bin.

sudo cp node_exporter /usr/local/bin

Después de eso, ejecuta el siguiente comando para crear un nuevo archivo de servicio systemd /etc/systemd/system/node_exporter.service para el node_exporter.

sudo tee /etc/systemd/system/node_exporter.service <

install node exporter

Recarga el gestor de systemd con lo siguiente:

sudo systemctl daemon-reload

Ahora puedes iniciar y habilitar el servicio node_exporter con el siguiente comando. Y luego, verifica el estado del servicio node_exporter.

sudo systemctl enable --now node_exporter sudo systemctl status node_exporter

Verás que el servicio node_exporter está en funcionamiento y comenzará a recopilar y poblar datos. El servicio node_exporter está en funcionamiento en el puerto predeterminado 9100.

start check node_exporter

Integrando node_exporter a Prometheus

En esta sección, integrarás y agregarás node_exporter a Prometheus.

Abre la configuración predeterminada de Prometheus /etc/prometheus/prometheus.yml.

sudo nano /etc/prometheus/prometheus.yml

Agrega un nuevo job_name con el nombre node_exporter y apunta el objetivo al target como 192.168.5.16:9100.

  - job_name: "node_exporter"

    static_configs:
      - targets: ["192.168.5.100:9100"]

Guarda y sal del archivo cuando termines.

Ahora ejecuta el siguiente comando para reiniciar el servicio prometheus y aplicar los cambios.

sudo systemctl restart prometheus

A continuación, accede al servidor Prometheus http://192.168.5.16:9090 a través de tu navegador web y se te pedirá autenticación básica.

Ingresa tu nombre de usuario y contraseña y haz clic en Iniciar sesión.

Log in prometheus

Después de iniciar sesión en el panel de Prometheus, ingresa node_memory_Active_bytes en la consulta y haz clic en Ejecutar. Verás el gráfico de la memoria activa actual como el siguiente:

prometheus dashboard

Por último, haz clic en Estado > Objetivos y asegúrate de que tanto los objetivos prometheus como node_exporter estén activos y en funcionamiento como el siguiente:

list targets

Integrando Prometheus con Grafana como fuente de datos

Ahora que Prometheus está listo, agregarás e integrarás Prometheus a Grafana como fuente de datos. Luego, crearás un nuevo sistema de panel para monitoreo.

Dentro del panel de Grafana, haz clic en Conexiones > Fuentes de Datos > Agregar fuente de datos para agregar una nueva fuente de datos en Grafana.

add data source

Selecciona Prometheus como la fuente de datos.

prometheus

Ingresa la URL de Prometheus como http://192.168.5.16:9090/ e ingresa el nombre de usuario y la contraseña para tu servidor Prometheus.

add prometheus details

Desplázate hacia abajo y haz clic en Guardar y probar. Si es exitoso, verás el mensaje Se consultó correctamente la API de Prometheus.

save and test data source

Después de agregar Prometheus como la fuente de datos, crearás un nuevo panel de Grafana para el monitoreo del sistema.

Haz clic en el menú Panel > Crear panel.

create dashboard

Selecciona Importar panel para importar el panel.

import dashboard

Visita https://grafana.com/grafana/dashboards/ y encuentra tu panel adecuado. En este ejemplo, cargarás el panel de Grafana con id 15172.

Haz clic en Cargar para importar el panel.

Load dashboard id

Ahora selecciona Prometheus como backend y haz clic en Importar para confirmar.

select prometheus as backend

Si todo va bien, tu panel de Grafana debería estar creado. A continuación se muestra la captura de pantalla del panel de Grafana con el monitoreo de Prometheus y node_exporter:

dashboard monitoring

Conclusión

¡Felicidades! Has completado la instalación de Grafana, Prometheus y node_exporter en servidores Ubuntu 24.04. Tienes Grafana funcionando con Nginx como un proxy inverso, aseguraste Prometheus con autenticación por contraseña, integraste node_exporter con Prometheus, agregaste Prometheus como una fuente de datos a Grafana e importaste el panel de Grafana.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.