Cómo instalar Prometheus y node_exporter en CentOS 7

Configurar Prometheus para systemd

Prometheus es un sistema de monitoreo de código abierto que le permite recopilar métricas de cualquier sistema de destino configurado. Prometheus implementa un modelo de datos multidimensional con consultas poderosas, excelente visualización, alertas precisas y viene con muchas integraciones.

Prometheus fue creado originalmente por SoundCloud en 2012, pero ahora se ha convertido en un proyecto independiente de código abierto mantenido de forma independiente por la comunidad de código abierto: todos los componentes están disponibles bajo la licencia Apache 2 en Github.

En este tutorial, le mostraré cómo instalar y configurar Prometheus y node_exporter. Instalaremos el sistema de monitoreo Prometheus y luego configuraremos el node_exporter para recopilar métricas del servidor. Usaremos el servidor CentOS 7 para esta guía tutorial.

requisitos previos

  • servidor CentOS 7
  • Privilegios de raíz

¿Que haremos?

  1. Crea un nuevo usuario y descarga Prometheus
  2. Configurar Prometheus como un servicio de Systemd
  3. Configurar cortafuegos
  4. Instalar y configurar node_exporter
  5. Agregue node_exporter al servidor Prometheus
  6. Pruebas

Paso 1: cree un nuevo usuario y descargue Prometheus

En este tutorial, el servicio Prometheus se ejecutará como usuario no root. Entonces necesitamos crear un nuevo usuario no root en el sistema. Crearemos un nuevo usuario llamado ‘prometheus’, y todos los servicios de prometheus se ejecutarán bajo el usuario de prometheus.

Cree un nuevo usuario ‘prometheus’ usando el siguiente comando.

useradd -m -s /bin/bash prometheus

Se ha creado un nuevo usuario. Ahora inicie sesión en el usuario y descargue Prometheus usando el comando wget.

su - prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.2.1/prometheus-2.2.1.linux-amd64.tar.gz

Extraiga el archivo prometheus-xx.xxtar.gz y cambie el nombre del directorio a ‘prometheus’.

tar -xzvf prometheus-2.2.1.linux-amd64.tar.gz
mv prometheus-2.2.1.linux-amd64/ prometheus/

Prometheus se descarga en el servidor y todos los archivos de Prometheus están en el directorio ‘/home/prometheus/prometheus’.

Paso 2: configure Prometheus como un servicio de Systemd

En este paso, configuraremos Prometheus como un servicio systemd. Crearemos un nuevo archivo de servicio prometheus.service en el directorio ‘/etc/systemd/system’.

Vaya al directorio ‘/etc/systemd/system/’ y cree un nuevo archivo de servicio ‘prometheus.service’ usando el editor vim.

cd /etc/systemd/system/
vim prometheus.service

Pegue la configuración del servicio Prometheus a continuación.

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

[Service]
User=prometheus
Restart=on-failure

#Change this line if you download the
#Prometheus on different path user
ExecStart=/home/prometheus/prometheus/prometheus \
–config.file=/home/prometheus/prometheus/prometheus.yml \
–storage.tsdb.path=/home/prometheus/prometheus/data

[Install]
WantedBy=multi-user.target


Guardar y Salir.

Ahora vuelva a cargar el sistema systemd usando el comando systemctl a continuación.

systemctl daemon-reload

Inicie el servicio Prometheus y permita que se inicie cada vez que se inicia el sistema.

systemctl start prometheus
systemctl enable prometheus

Configurar Prometheus para systemd

Prometheus ahora se está ejecutando como un servicio systemd, verifíquelo usando el siguiente comando.

systemctl status prometheus

Asegúrese de obtener el estado de servicio ‘En ejecución’.

O verifíquelo usando el comando netstat a continuación.

netstat -plntu

Asegúrese de obtener el resultado como se muestra a continuación.

Comprueba que Prometheus se está ejecutando

Prometheus se ejecuta de forma predeterminada en el puerto ‘9090’.

Paso 3: configurar el cortafuegos

Si está utilizando Firewalld en su sistema, agregue el puerto 9090 a la lista de puertos de Firewalld.

Abra el puerto 9090 para acceder a Prometheus usando los comandos firewall-cmd a continuación.

firewall-cmd --add-port=9090/tcp --permanent
firewall-cmd --reload

Ahora abra su navegador web y escriba la dirección IP del servidor con el puerto 9090.

http://192.168.33.10:9090/gráfico

Escriba ‘http_requests_total’ en el campo de consulta y haga clic en el botón ‘Ejecutar’.

Gráfico de Prometeo

Y verá solicitudes HTTP al servidor Prometheus con toda la información sobre la hora, el código de estado HTTP, el método, etc.

Paso 4: instalar y configurar node_exporter

node_exporter es un exportador de métricas de máquina que puede ejecutarse en sistemas *Nix y Linux.

En este tutorial, instalaremos node_exporter en el mismo servidor Prometheus. Supervisaremos y obtendremos la métrica del servidor Prometheus.

Inicie sesión en el usuario de Prometheus y descargue el ‘node_exporter’ usando el comando wget.

su - prometheus
wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0-rc.1/node_exporter-0.16.0-rc.1.linux-amd64.tar.gz

Extraiga node_exporter y cambie el nombre del directorio a ‘node_exporter’.

tar -xzvf node_exporter-0.16.0-rc.1.linux-amd64.tar.gz
mv node_exporter-0.16.0-rc.1.linux-amd64 node_exporter

A continuación, crearemos un nuevo archivo de servicio para node_exporter. Vuelva al shell raíz, vaya al directorio ‘/etc/systemd/system’ y cree un nuevo archivo de servicio node_exporter ‘node_exporter.service’ usando vim.

cd /etc/systemd/system/
vim node_exporter.service

Allí, pegue la configuración del servicio node_exporter a continuación.

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

[Service]
User=prometheus
ExecStart=/home/prometheus/node_exporter/node_exporter

[Install]
WantedBy=default.target


Guardar y Salir.

Ahora recarga el sistema systemd.

systemctl daemon-reload

Luego, inicie el servicio node_exporter y habilítelo para que se inicie cada vez que se inicie el sistema.

systemctl start node_exporter
systemctl enable node_exporter

Configurar la unidad systemd node_exporter

El servicio node_exporter ahora se está ejecutando en el servidor; verifíquelo con el comando netstat.

netstat -plntu

Y obtendrá que el exportador de nodos se está ejecutando en el puerto 9100.

Compruebe el puerto node_exporter

Paso 5: agregue node_exporter al servidor Prometheus

En este paso, agregaremos node_exporter al servidor Prometheus. Inicie sesión en el usuario de Prometheus y edite el archivo de configuración ‘prometheus.yml’.

Inicie sesión en el usuario prometeo.

su - prometheus

Vaya al directorio ‘prometheus’ y edite el archivo de configuración ‘prometheus.yml’.

cd prometheus/
vim prometheus.yml

Debajo de la línea ‘scrape_config’, agregue el nuevo job_name node_exporter copiando y pegando la configuración a continuación.

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

Guardar y Salir.

Agregue node_exporter al servidor Prometheus

Ahora reinicie el servicio Prometheus.

systemctl restart prometheus

El node_exporter se ha agregado al servidor Prometheus.

Paso 6: prueba de Prometheus y node_exporter

Abra su navegador web y luego ingrese la dirección IP del servidor.

http://192.168.33.10:9090/

Escriba el recopilador meminfo ‘node_memory_MemAvailable_bytes‘ en el campo de consulta y haga clic en el botón ‘Ejecutar’.

Y obtendrá el resultado de la siguiente manera.

Resultado para node_memory_MemAvailable_bytes

Obtendrá la memoria disponible en la instancia del servidor ‘localhost:9100’ y el nombre_trabajo ‘nodo-exportador’.

O si desea acceder a los datos sin procesar de node_exporter, debe agregar el puerto 9100 de node_exporter al firewalld.

firewall-cmd --add-port=9100/tcp
firewall-cmd --reload

Y luego escriba la dirección IP del servidor con el puerto 9100.

http://192.168.33.10:9100/métricas

Y obtendrá los datos sin procesar de node_exporter como se muestra a continuación.

Métricas de resultados

La instalación y configuración del sistema de monitoreo de Prometheus con el node_exporter en CentOS 7 se completó con éxito.

Deja una respuesta

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