Cómo instalar Prometheus y Node Exporter en Rocky Linux

Descargue el tarball de Prometheus

Prometheus es una plataforma de supervisión y alerta de código abierto.

Originalmente, Prometheus fue creado por Soundcloud en 2012. Desde entonces, el proyecto Prometheus adoptado por algunas empresas famosas abe convertido en un proyecto m√°s grande con los desarrolladores muy activos y la comunidad. Y en 2016, el proyecto Prometheus se grad√ļa bajo la Fundaci√≥n de Computaci√≥n Nativa en la Nube (CNCF).

Conceptos b√°sicos que debe conocer

Básicamente, Prometeo recoge datos y métricas a través de puntos finales HTTP de los servidores de destino, y luego almacena todos los datos como series temporales. En Prometheus, los datos de las series temporales se identifican por el nombre de la métrica y los pares clave/valor.

Prometheus proporciona flexibilidad a través del lenguaje de consulta de Prometheus (PromQL). Puede utilizar PromQL para consultar la base de datos de series temporales de Prometheus.

En los servidores de destino, debe instalar el programa ‘exportador‘ aplicaci√≥n que expone todos los datos y m√©tricas a Prometheus. ‘Node Exporter’ es un exportador com√ļnmente usado para monitorear m√°quinas Linux.

Exportador de nodos expone las m√©tricas relacionadas con el hardware y el kernel de las m√°quinas Linux. Viene como un √ļnico archivo binario que expondr√° las m√©tricas de los extremos de los datos al servidor Prometheus.

Requisitos previos

En este artículo, aprenderá a instalar la herramienta de monitorización Prometheus y Node Exporter en un sistema Rocky Linux 8.

Antes de empezar, aseg√ļrese de que tiene los siguientes requisitos:

  • Sistema operativo: Rocky Linux 8.5 (Green Obsidian)
  • Privilegios de root

Para este ejemplo, estamos utilizando el sistema Rocky Linux con la direcci√≥n IP ‘192.168.1.10’.

Ahora vamos a empezar.

A√Īadir nuevo usuario y directorio

Al principio, se crear√° un nuevo usuario del sistema ‘prometheus’, y luego se crear√° un nuevo directorio de configuraci√≥n y un directorio de datos para la instalaci√≥n de Prometheus.

1. Ejecute el siguiente comando para crear un nuevo usuario ‘prometheus’.

sudo adduser -M -r -s /sbin/nologin prometheus

2. A continuaci√≥n, cree un nuevo directorio de configuraci√≥n ‘/etc/prometheus’ y el directorio de datos ‘/var/lib/prometheus’ utilizando el siguiente comando.

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

Toda la configuraci√≥n de Prometheus estar√° disponible en el directorio ‘/etc/prometheus’, y todos los datos de Prometheus se guardar√°n autom√°ticamente en el directorio ‘/var/lib/prometheus’.

Instalación de Prometheus en Rocky Linux

En este paso, instalará el sistema de monitorización Prometheus manualmente desde el archivo tarball o tar.gz.

Elija la versi√≥n de Prometheus desde este enlace. Para este ejemplo, vamos a instalar la √ļltima versi√≥n de Prometheus.

Descargue el tarball de Prometheus

1. Cambie el directorio de trabajo a ‘/usr/src’ y descargue el binario de Prometheus utilizando el siguiente comando.

cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz

Una vez finalizado el proceso de descarga, extraiga el archivo de Prometheus.

tar -xf prometheus-2.31.1.linux-amd64.tar.gz

Ahora ver√°s un nuevo directorio ‘prometheus-VERSION.OS‘.Anuncio

2. A continuaci√≥n, copie todas las configuraciones de Prometheus en el directorio ‘/etc/prometheus’ y el archivo binario ‘prometheus’ en el directorio ‘/usr/local/bin’.

Configure la variable de entorno ‘PROM_SRC’ en el directorio ‘/usr/src/prometheus-*’.

export PROM_SRC=/usr/src/prometheus-*

Copie la configuraci√≥n de prometheus ‘prometheus.yml’ al directorio ‘/etc/prometheus.

sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/

Copie el archivo binario ‘prometheus’ y ‘promtool’ al directorio ‘/usr/local/bin/’.

sudo cp $PROM_SRC/prometheus /usr/local/bin/
sudo cp $PROM_SRC/promtool /usr/local/bin/

Copie las plantillas y bibliotecas de la consola de Prometheus al directorio ‘/etc/prometheus’.

sudo cp -r $PROM_SRC/consoles /etc/prometheus
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus

3. A continuaci√≥n, edite la configuraci√≥n de Prometheus ‘/etc/prometheus/prometheus.yml’ utilizando el editor nano.

nano /etc/prometheus/prometheus.yml

En la opci√≥n ‘scrape_configs’, es posible que tenga que a√Īadir trabajos de monitorizaci√≥n y la forma de raspar todos los datos del objetivo.

La configuraci√≥n por defecto viene con el nombre del trabajo de monitorizaci√≥n ‘prometheus’ y el servidor de destino ‘localhost’ a trav√©s de la opci√≥n ‘static_configs’.

Cambie el destino de ‘localhost:9090’ a la direcci√≥n IP del servidor ‘192.168.1.10:9090’ como se indica a continuaci√≥n.

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

# metrics_path defaults to ‘/metrics’
# scheme defaults to ‘http’.

static_configs:
– targets: [¬ę192.168.1.10:9090¬Ľ]


Guarde la configuración y salga.

4. Ahora ejecute el siguiente comando para cambiar los directorios de configuraci√≥n y datos al usuario ‘promethues’.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Ahora ha completado la instalación básica de prometheus.

Configurar Prometheus

Configurar el archivo de servicio de Prometheus

En este paso, configurar√° Prometheus como un servicio systemd.

1. Cree un nuevo archivo de servicio systemd ‘/etc/systemd/system/prometheus.service’ utilizando el editor nano.Advertisement

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

Copie y pegue la siguiente configuración.

[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


Guarde la configuración y salga.

2. A continuación, recargue el gestor systemd para aplicar una nueva configuración.

sudo systemctl daemon-reload

3. Ahora ejecute el siguiente comando para iniciar y habilitar el servicio Prometheus, y luego compruebe el estado actual del mismo.

sudo systemctl enable --now prometheus
sudo systemctl status prometheus

Si su instalación es satisfactoria, verá que el servicio Prometheus está activo y funcionando como se indica a continuación.

Configurar Prometheus como servicio systemd

La herramienta de monitorizaci√≥n Prometheus es ahora accesible en el puerto TCP ‘9090.

4. Abra su navegador web y escriba la direcci√≥n IP del servidor con el puerto ‘9090’ en la barra de direcciones.

http://192.168.1.10:9090/

Y verás la consulta del tablero de prometheus a continuación.

Tablero de consulta de Prometheus

Ahora ha completado la instalación de Prometheus. Pase al siguiente paso para instalar Node Exporter.

Instalación de Node Exporter en Rocky Linux

Node exporter es parte del proyecto prometheus. Puede utilizar el exportador de nodos para exportar las métricas de los servidores Linux al servidor Prometheus.

En este paso, usted instalar√° el exportador de nodos en el sistema Linux Rocky desde el archivo tar.gz.

Consulte este enlace para obtener la √ļltima versi√≥n del exportador de nodos. En este ejemplo, instalaremos la versi√≥n 1.3.0 de node exporter.

Descargar Node Exporter

1. Cambie el directorio de trabajo a ‘/usr/src’ y descargue el archivo binario del exportador de nodos utilizando el siguiente comando.

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz

Si el proceso de descarga se completa, extraiga el archivo del exportador de nodos.

tar -xf node_exporter-1.3.0.linux-amd64.tar.gz

Ahora obtendr√°s un nuevo directorio ‘node_exporter-VERSION.OS‘.

2. A continuaci√≥n, mueva el archivo binario del exportador de nodos al directorio ‘/usr/local/bin’ utilizando el siguiente comando.

mv node_exporter-*/node_exporter /usr/local/bin

Pasa al siguiente paso para configurar node exporter como un servicio systemd.

Configurar Node_exporter como servicio

Antes de crear un archivo de servicio del exportador de nodos, cree un nuevo usuario del sistema ‘node_exporter’.

1. Ejecute el siguiente comando para crear un nuevo usuario del sistema.

sudo adduser -M -r -s /sbin/nologin node_exporter

2. A continuaci√≥n, cree un nuevo archivo de servicio para el exportador de nodos ‘/etc/systemd/system/node_exporter.service’ utilizando el editor nano.

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

Copie y pegue la siguiente configuración.

[Unit]
Description=Node Exporter
After=network.target

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

[Install]
WantedBy=multi-user.target


Guarde la configuración y salga.

3. Ahora recargue el gestor systemd para aplicar la nueva configuración.

sudo systemctl daemon-reload

4. Inicie y habilite el servicio ‘node_exporter’ utilizando el siguiente comando.

sudo systemctl enable --now node_exporter

Configurar el exportador de nodos

Despu√©s, compruebe el estado actual del servicio ‘node_exporter’.

sudo systemctl status node_exporter

Aseg√ļrese de que el servicio ‘node_exporter’ est√° activo y en funcionamiento.

Configurar Node Exporter como un servicio systemd

5. El exportador de nodos se ejecuta en el puerto por defecto ‘9100’. Verif√≠quelo con el siguiente comando ss.

ss -aplnt | grep node

Ver√° una salida similar a la de abajo.

State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port   Process
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*       users:(("sshd",pid=683,fd=4))
LISTEN   0        128                    *:9090                *:*       users:(("prometheus",pid=709,fd=8))
LISTEN   0        128                    *:9100                *:*       users:(("node_exporter",pid=5786,fd=3))
LISTEN   0        128                 [::]:22               [::]:*       users:(("sshd",pid=683,fd=6))

Y ya ha completado la instalación del exportador de nodos en el sistema Rocky Linux.

A√Īadir node_exporter a Prometheus

Despu√©s de completar la instalaci√≥n de Prometheus y del exportador de nodos, a√Īada el exportador de nodos al servidor de Prometheus.

1. Edite la configuración de Prometheus utilizando el editor nano.

sudo nano /etc/prometheus/prometheus.yml

En la secci√≥n ‘scrape_config’, a√Īada un nuevo trabajo de Prometheus con la siguiente configuraci√≥n. Y aseg√ļrese de cambiar la direcci√≥n IP del servidor con su servidor de destino.

  - job_name: 'node_exporter_metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['SERVER-IP:9100']

Guarde la configuración y salga.

2. Ahora reinicie el servicio Prometheus para aplicar una nueva configuración.

sudo systemctl restart prometheus

Y ya ha a√Īadido el exportador de nodos al servidor de Prometheus.

Verifique la instalación de Prometheus y del exportador de nodos

1. Vuelva al panel de control de Prometheus, haga clic en el men√ļ ¬ęEstado¬Ľ y seleccione ¬ęObjetivos¬Ľ.

Ver√° dos puntos finales diferentes, el ‘prometheus’ y el ‘node_exporter_metrics’.

Métricas de destino de Prometheus

2. A continuaci√≥n, despl√°cese al men√ļ ¬ęgr√°fico¬Ľ y escriba la consulta PromQL en la barra de b√ļsqueda. Para este ejemplo, comprueba el sistema operativo detallado utilizando la consulta ‘node_os_info’.

Y verás información detallada sobre tu sistema operativo actual.

ejemplos de prometheus consulta PromQL

3. Otro ejemplo, comprueba las velocidades de la red utilizando la consulta ‘node_network_speed_bytes’, luego pasa a la pesta√Īa ‘Graph’. Y ver√°s una salida similar a la de abajo.

ejemplos de prometheus consulta PromQL

Ahora ha instalado con éxito el exportador de nodos y Prometheus en el sistema Rocky Linux.

Conclusión

¡Enhorabuena! Ha aprendido la instalación y configuración básica del sistema de monitorización Prometheus y del exportador de nodos en el sistema Rocky Linux.

Para el siguiente paso, puede explorar otro exportador de Prometheus para otras aplicaciones y Grafana como panel de control de monitorización.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *