Cómo instalar Prometheus y Node Exporter en Rocky Linux
Prometheus es una plataforma de monitorizació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, se ha convertido en un proyecto mayor con desarrolladores y una comunidad muy activos. Y en 2016, el proyecto Prometheus se graduó en la Cloud Native Computing Foundation (CNCF).
Conceptos básicos que debes conocer
Básicamente, Prometheus recopila 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 mediante el nombre de la métrica y pares clave/valor.
Prometheus proporciona flexibilidad mediante el Lenguaje de consulta de Prometheus (PromQL). Puedes utilizar PromQL para consultar la base de datos de series temporales de Prometheus.
En los servidores de destino, debes instalar la aplicación «exportador» que expone todos los datos y métricas a Prometheus. ‘Exportador de nodos’ es un exportador de uso común para supervisar máquinas Linux.
El exportador de nodos expone las métricas relacionadas con el hardware y el kernel de las máquinas Linux. Se presenta como un único archivo binario que expondrá las métricas de datos finales al servidor Prometheus.
Requisitos previos
En este artículo, aprenderás a instalar la herramienta de monitorización Prometheus y Node Exporter en un sistema Rocky Linux 8.
Antes de empezar, asegúrate de que reúnes los siguientes requisitos:
- Sistema operativo: Rocky Linux 8.5 (Obsidiana Verde)
- Privilegios de root
Para este ejemplo, utilizaremos 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, crearás un nuevo usuario del sistema ‘prometheus’, y después crearás un nuevo directorio de configuración y un directorio de datos para la instalación de Prometheus.
1. Ejecuta el siguiente comando para crear un nuevo usuario ‘prometheus‘.
sudo adduser -M -r -s /sbin/nologin prometheus
2. Después, crea 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ás manualmente el sistema de monitorización Prometheus a partir del archivo tarball o tar.gz.
Elige la versión de Prometheus en este enlace. Para este ejemplo, vamos a instalar la última versión de Prometheus.
1. Cambia el directorio de trabajo a «/usr/src» y descarga 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
2. Una vez finalizado el proceso de descarga, extrae el archivo de Prometheus.
tar -xf prometheus-2.31.1.linux-amd64.tar.gz
Ahora verás un nuevo directorio‘prometheus-VERSION.OS‘.
2. A continuación, copia todas las configuraciones de Prometheus en el directorio ‘/etc/prometheus’ y el archivo binario‘prometheus‘ en el directorio‘/usr/local/bin‘.
Configura la variable de entorno‘PROM_SRC‘ en el directorio ‘ /usr/src/prometheus-*‘.
export PROM_SRC=/usr/src/prometheus-*
Copia la configuración de prometheus ‘prometheus.yml‘ al directorio ‘/etc/prometheus‘.
sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/
Copia 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/
Copia las plantillas y bibliotecas de la consola 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, edita 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 tengas que añadir trabajos de monitorización y la forma de scrapear todos los datos del objetivo.
La configuración por defecto viene con el nombre de trabajo de monitorización «prometheus» y el servidor de destino«localhost» a través de la opción «static_configs«.
Cambia 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»]
Guarda la configuración y sal.
4. Ahora ejecuta 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 ya has completado la instalación básica de Prometheus.
Configurar el archivo de servicio de Prometheus
En este paso, configurarás Prometheus como un servicio systemd.
1. Crea un nuevo archivo de servicio systemd ‘/etc/systemd/system/prometheus.service’ utilizando el editor nano.
sudo nano /etc/systemd/system/prometheus.service
Copia y pega 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
Guarda la configuración y sal.
2. A continuación, recarga el gestor systemd para aplicar la nueva configuración.
sudo systemctl daemon-reload
3. Ejecuta ahora el siguiente comando para iniciar y habilitar el servicio Prometheus y, a continuación, comprueba su estado actual.
sudo systemctl enable --now prometheus sudo systemctl status prometheus
Si tu instalación ha sido un éxito, verás que el servicio Prometheus está activo y funcionando como se indica a continuación.
La herramienta de monitorización Prometheus es ahora accesible en el puerto TCP‘9090.
4. Abre tu navegador web y escribe 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 que aparece a continuación.
Ahora ya has completado la instalación de prometheus. Pasa al siguiente paso para instalar Node Exporter.
Instalación de Node Exporter en Rocky Linux
El exportador de nodos forma parte del proyecto prometheus. Puedes utilizar node exporter para exportar métricas de servidores Linux al servidor Prometheus.
En este paso, instalarás el exportador de nodos en el sistema Rocky Linux desde el archivo tar.gz.
Consulta este enlace para obtener la última versión de node exporter. En este ejemplo, instalaremos la versión 1.3.0 de node exporter.
1. Cambia el directorio de trabajo a‘/usr/src‘ y descarga el archivo binario de node exporter 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
2. Cuando finalice el proceso de descarga, extrae el archivo node exporter.
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, mueve el archivo binario del exportador de nodos al directorio ‘/usr/local/bin‘ utilizando el siguiente comando.
mv node_exporter-*/node_exporter /usr/local/bin
3. Pasa al siguiente paso para configurar node_exporter como un servicio systemd.
Configurar Node_exporter como servicio
Antes de crear un archivo de servicio de exportador de nodos, crea un nuevo usuario de sistema‘exportador_de_nodos’.
1. Ejecuta el siguiente comando para crear un nuevo usuario del sistema.
sudo adduser -M -r -s /sbin/nologin node_exporter
2. A continuación, crea 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
Copia y pega 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
Guarda la configuración y sal.
3. Ahora recarga el gestor systemd para aplicar la nueva configuración.
sudo systemctl daemon-reload
4. Inicia y habilita el servicio ‘node_exporter’ utilizando el siguiente comando.
sudo systemctl enable --now node_exporter
Después, comprueba el estado actual del servicio ‘node_exporter’.
sudo systemctl status node_exporter
Asegúrate de que el servicio ‘node_exporter‘ está activo y en ejecución.
5. El exportador de nodos se está ejecutando en el puerto por defecto«9100«. Compruébalo utilizando el comando ss que aparece a continuación.
ss -aplnt | grep node
Verás una salida similar a la siguiente.
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 habrás completado la instalación del exportador de nodos en el sistema Rocky Linux.
Añade node_exporter a Prometheus
Una vez completada la instalación de Prometheus y del exportador de nodos, añade el exportador de nodos al servidor Prometheus.
1. Edita la configuración de Prometheus utilizando el editor nano.
sudo nano /etc/prometheus/prometheus.yml
En la sección«scrape_config«, añade un nuevo trabajo de Prometheus con la siguiente configuración. Y asegúrate de cambiar la dirección IP del servidor con tu servidor de destino.
- job_name: 'node_exporter_metrics' scrape_interval: 5s static_configs: - targets: ['SERVER-IP:9100']
Guarda la configuración y sal.
2. Ahora reinicia el servicio Prometheus para aplicar la nueva configuración.
sudo systemctl restart prometheus
Y habrás añadido el exportador de nodos al servidor Prometheus.
Verificar la instalación de Prometheus y del exportador de nodos
1. Vuelve al panel de Prometheus, haz clic en el menú«Estado» y selecciona«Objetivos«.
Verás dos objetivos diferentes, el‘prometheus‘ y el‘node_exporter_metrics‘.
2. A continuación, ve al menú ‘Gráfico‘ y escribe la consulta PromQL en la barra de búsqueda. En este ejemplo, comprueba el sistema operativo detallado utilizando la consulta‘node_os_info‘.
Y verás información detallada sobre tu sistema operativo actual.
3. Otro ejemplo, comprueba las velocidades de la red utilizando la consulta ‘node_network_speed_bytes‘, y luego pasa a la pestaña‘Gráfico‘. Y verás un resultado similar al siguiente.
Ahora ya has instalado correctamente Prometheus y el exportador de nodos en el sistema Rocky Linux.
Conclusión
¡Enhorabuena! Has 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, puedes explorar otro exportador Prometheus para otras aplicaciones y Grafana como panel de control de la supervisión.