GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Prometheus Monitoring y node_exporter en CentOS 8

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 8 más reciente para esta guía de tutorial.

Requisitos previos

  • servidor CentOS 8
  • Privilegios de raíz

¿Qué haremos?

  • Cree un nuevo usuario y descargue Prometheus
  • Configurar Prometheus como un servicio de Systemd
  • Configurar cortafuegos
  • Instalar y configurar node_exporter
  • Agregue node_exporter al servidor Prometheus
  • Pruebas

Paso 1:crea un nuevo usuario y descarga 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.13.1/prometheus-2.13.1.linux-amd64.tar.gz

Extraiga el archivo prometheus-xx.x.x.tar.gz y cambie el nombre del directorio a 'prometheus'.

tar -xf prometheus-2.13.1.linux-amd64.tar.gz
mv prometheus-2.13.1.linux-amd64/ prometheus/

Después de eso, cree un nuevo directorio de 'datos' que se usará como almacenamiento 'tsdb'.

mkdir -p ~/prometheus/data

Ahora, Prometheus se descarga en el servidor y todos los archivos de Prometheus se encuentran en el directorio '/home/prometheus/prometheus'.

Paso 2:configurar Prometheus como 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 recarga el sistema systemd usando el siguiente comando systemctl.

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

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.

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 revisa las reglas de firewalld.

firewall-cmd --list-all

Y obtendrá el puerto TCP '9090' en la lista.

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

http://10.5.5.15:9090/gráfico

Escriba 'prometheus_http_requests_total' en el campo de consulta y haga clic en el botón 'Ejecutar'.

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áquinas 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.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

Extraiga node_exporter y cambie el nombre del directorio a 'node_exporter'.

tar -xf node_exporter-0.18.1.linux-amd64.tar.gz
mv node_exporter-0.18.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

Pegue la siguiente configuració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

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

systemctl status node_exporter
netstat -plntu

Y obtendrá el exportador de nodos funcionando en el puerto predeterminado 9100.

Paso 5:agregar 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 de Prometheus.

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.

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://10.5.5.15:9090/

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

Y obtendrá el resultado como se muestra a continuación.

Obtendrá la memoria disponible en la instancia del servidor 'localhost:9100' y el nombre_trabajo 'node-exporter'.

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 --permanent
firewall-cmd --reload

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

http://10.5.5.15:9100/métricas

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

Como resultado, la instalación y configuración del sistema de monitoreo de Prometheus con node_exporter en CentOS 8 Server se completó con éxito.


Cent OS
  1. Cómo instalar y configurar Nginx en CentOS 7

  2. Cómo instalar Hashicorp Vault en CentOS 7

  3. Cómo instalar y configurar Fail2Ban en CentOS 8 y Fedora 33

  4. Cómo instalar el monitoreo de Netdata en CentOS 7

  5. Cómo instalar el servicio y el cliente NTP en CentOS/RHEL 8

Cómo instalar el sistema de monitoreo Grafana en CentOS 8

Cómo instalar Nagios Core y NRPE en CentOS 8

Cómo instalar ClamAV en CentOS 7

Cómo instalar Cacti Monitoring en CentOS 7

Cómo instalar Icinga 2 en CentOS 7

Cómo instalar Prometheus en CentOS 8