Cómo instalar la herramienta de monitorización del sistema Prometheus en Ubuntu 20.04

En este tutorial, aprenderemos a instalar Prometheus en Ubuntu 20.04. Para quienes no estén familiarizados con Prometheus, se trata de una herramienta de monitorización del sistema que proporciona una visión general de todas las métricas de tu sistema e información de rendimiento para que puedas identificar cualquier problema o cuello de botella. Puede resultarte útil si quieres hacer un seguimiento de recursos como el uso de la CPU, la utilización de la memoria, el tiempo de espera IO de la red, etc. Dispone de una interfaz web que permite una fácil monitorización desde cualquier dispositivo con conexión a Internet y también admite alertas por correo electrónico y mensajes SMS en caso de que las métricas superen un umbral configurado.

Requisitos previos

  • Un servidor que ejecute Ubuntu 20.04 LTS con al menos 2 GB de RAM y 1 vCPU.
  • Iniciar sesión como root o como usuario no root con privilegios sudo.

Instalar Nginx

Siempre debes actualizar tu repositorio ejecutando este comando:

sudo apt update

Esto te preguntará, la respuesta por defecto es y y Enter. No aconsejamos pulsar n cuando se te pregunte, ya que puede causar problemas con los paquetes o programas que se instalen posteriormente.

Ahora tu sistema actualiza los repositorios mediante un proceso intermedio y, una vez completado este paso, puedes proceder a instalar nginx utilizando el comando que se indica a continuación:

sudo apt install nginx

El servicio Nginx está ahora en ejecución y responderá a las peticiones. Puedes comprobarlo ejecutando el siguiente comando:

sudo systemctl status nginx

Si ves una salida similar a la siguiente, entonces Nginx se está ejecutando:

Iniciar Nginx

Si tu servicio Nginx no se está ejecutando, puedes iniciarlo introduciendo el siguiente comando:

sudo systemctl start nginx

¡Ya está! nginx se está ejecutando en tu servidor

Crear usuario del sistema Prometheus

El servidor Prometheus necesita una cuenta de usuario de servicio para funcionar. Puedes crear el usuario con el siguiente comando. Sustituye «node_exporter» por el nombre de tu propia aplicación prometheus-server.

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

Crear directorios de Prometheus

A continuación, necesitas crear algunos directorios. En ellos se almacenarán los archivos de configuración y otros datos. Estos directorios se crearán en el directorio que hayas seleccionado previamente para Prometheus. En este ejemplo, utilizaremos /ect/prometheus y /var/lib/prometheus como directorio base:

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

Descarga e instalación de Prometheus

Podemos descargar Prometheus para Linux simplemente utilizando wget. Navegamos hasta la versión más reciente de descargas en su sitio web y la cogemos desde allí.

wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz

Una vez descargado el binario, extráelo utilizando el comando tar:

tar -xvf prometheus-2.28.1.linux-amd64.tar.gz

De la carpeta extraída, copia los binarios prometheus y promtool al directorio /usr/local/bin:

sudo cp prometheus-2.28.1.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.28.1.linux-amd64/promtool /usr/local/bin/

Después de copiarlos, cambia la propiedad de los archivos a prometheus introduciendo los comandos que se indican a continuación:

sudo chown prome:prome /usr/local/bin/prometheus
sudo chown prome:prome /usr/local/bin/promtool

A continuación, copia los siguientes directorios en tu directorio de configuración de Prometheus /etc/prometheus: «console_libraries» y «prometheus». ¡Es importante que no olvides este paso!

sudo cp -r prometheus-2.28.1.linux-amd64/consoles /etc/prometheus
sudo cp -r prometheus-2.28.1.linux-amd64/console_libraries /etc/prometheus

Utiliza los siguientes comandos para cambiar la propiedad de los archivos:

sudo chown -R prome:prome /etc/prometheus/consoles
sudo chown -R prome:prome /etc/prometheus/console_libraries

Crear el archivo de configuración de Prometheus

Prometheus necesita un archivo de configuración para funcionar. El prometheous.yml es la forma más habitual de configurarlo en uso. En esta sección, crearemos los archivos de configuración llamados prometheus.yml en el directorio /etc/prometheus creado anteriormente.

sudo nano /etc/prometheus/prometheus.yml

A continuación, copia y pega las siguientes líneas en tu terminal:

global:
 scrape_interval: 15s
scrape_configs:
 - job_name: 'prometheus'
 scrape_interval: 5s
 static_configs:
 - targets: ['localhost:9090']

Cuando hayas terminado pulsa Ctrl+x luego y luego enter para guardar el archivo.

La configuración por defecto tiene un único trabajo llamado Prometheus que raspa los datos de series temporales expuestos por el servidor. El trabajo sólo contiene un objetivo, localhost en el puerto 9090 y está configurado estáticamente.

Ahora necesitamos crear un archivo para el servicio systemd. Ejecuta el siguiente comando:

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

Copia y pega el siguiente contenido en el archivo:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prome
Group=prome
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]

El archivo de servicio indica a systemd que ejecute Prometheus como usuario prometheus, con una configuración en el directorio /etc/prometheus y datos almacenados en /var/libdirectory.

Cuando hayas terminado pulsa Ctrl+x, luego y y después intro para guardar el archivo.

Para utilizar el servicio recién creado, recarga systemd ejecutando el siguiente comando:

sudo systemctl daemon-reload

Ahora puedes iniciar Prometheus utilizando el siguiente comando:

sudo systemctl enable prometheus

Puedes comprobar el estado del servicio utilizando el comando siguiente:

sudo systemctl status prometheus
prometheus.service - Prometheus
 Loaded: loaded (/etc/systemd/system/prometheus.service; disabled; vendor preset: enabled)
 Active: active (running) since Thu 2021-07-15 22:31:10 UTC; 3s ago
 Process: 3949 ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus>
 Main PID: 3949 (prometheus)
 Tasks: 7
 Memory: 13.8M
 CPU: 470ms
 CGroup: /system.slice/prometheus.service

El monitor de estado de Prometheus te indica el nivel actual de actividad del servicio. También puedes ver qué proceso está ejecutando actualmente y cuánta memoria utiliza en cada momento.

Probar Prometheus

Prometheus proporciona una interfaz web básica con la que los usuarios pueden ver estadísticas sobre sí mismos y sobre otros programas que tengan instalados, para determinar si hay algún problema en ellos.

Para acceder al servicio Prometheus, primero tienes que abrir el puerto 9090 en tu cortafuegos. Puedes hacerlo escribiendo

ufw allow 9090/tcp

Ahora abre un navegador web y navega hasta la siguiente dirección:

http://ip-address:9090

Sustituye el término «dirección-ip» por la dirección IP real de tu servidor. También puedes utilizar localhost o 127.0.0.1 para acceder localmente a Prometheus en tu sistema y comprobar si funciona correctamente.

La aplicación Prometheus ya está activa y lista para recibir peticiones web:

Herramienta de monitorización de red Prometheus

Conclusión

Esperamos que el tutorial te haya resultado útil y estés deseando probar tu propia instalación. Éste es sólo uno de los muchos tutoriales de nuestro sitio web, así que si hay algo más que quieras saber sobre la monitorización o Prometheus, ¡háznoslo saber en un comentario más abajo!

Scroll al inicio