Cómo instalar y configurar Prometheus en CentOS 7

PAGrometheus es un conjunto de herramientas de código abierto construido inicialmente en SoundCloud para monitorear y alertar. El kit de herramientas es ahora un proyecto de código abierto independiente y se mantiene independientemente de cualquier empresa.

El kit de herramientas recopila métricas de los objetivos supervisados ​​eliminando los puntos finales HTTP en esos objetivos. La mayoría de los componentes de Prometheus están en Go. Algunos escritos en Java, Python y Ruby.

Prometheus funciona bien para registrar cualquier serie de tiempo numérica. Se adapta tanto a la supervisión centrada en la máquina como a la supervisión de arquitectura orientada a servicios de alta dinámica. Además de facilitar la ejecución e integración en su entorno, Prometheus ofrece un rico modelo de datos y lenguaje de consulta.

El siguiente tutorial muestra los pasos para instalar Prometheus en CentOS.

Índice

Instalar y configurar Prometheus en CentOS 7

Inicie sesión en Terminal como root y comience a ejecutar los siguientes comandos.

Paso 1 - Actualizar el sistema

yum update -y

Paso 2: deshabilitar SELinux

Abra la configuración de SELinux y edite el archivo:

vim /etc/sysconfig/selinux

Cambie "SELINUX = enforcing" a "SELINUX = disabled".

Guardar y salir del archivo. Luego reinicia el sistema.

reboot

Paso 3: descargue el paquete Prometheus

Vaya a la página oficial de descargas de Prometheus y copie la URL del archivo "tar" de Linux.

Página de descarga de Prometheus
Página de descarga de Prometheus

Ejecute el siguiente comando para descargar el paquete. Pegue la URL copiada después de wget en el siguiente comando:

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

Paso 4: configurar Prometheus

Agregue un usuario de Prometheus.

useradd --no-create-home --shell /bin/false prometheus

Cree los directorios necesarios.

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

Cambie el propietario de los directorios anteriores.

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

Ahora vaya a la ubicación de descarga de Prometheus y extráigala.

tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz

Cambie el nombre según sus preferencias.

mv prometheus-2.8.1.linux-amd64 prometheuspackage

Copie el binario “prometheus” y “promtool” de la carpeta “prometheuspackage” a “/ usr / local / bin”.

cp prometheuspackage/prometheus /usr/local/bin/
cp prometheuspackage/promtool /usr/local/bin/

Cambie la propiedad a usuario de Prometheus.

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

Copie los directorios "consolas" y "console_libraries" del "paquete prometheus" a la carpeta "/ etc / prometheus"

cp -r prometheuspackage/consoles /etc/prometheus
cp -r prometheuspackage/console_libraries /etc/prometheus

Cambiar la propiedad a usuario de Prometheus

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

Agregue y modifique el archivo de configuración de Prometheus.

Las configuraciones deben agregarse a "/etc/prometheus/prometheus.yml"

Ahora crearemos el archivo prometheus.yml.

vim /etc/prometheus/prometheus.yml

Agregue la siguiente configuración al archivo.

global:
  scrape_interval: 10s

scrape_configs:
  - job_name: 'prometheus_master'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:9090']

Guardar y salir del archivo

Cambia la propiedad del archivo.

chown prometheus:prometheus /etc/prometheus/prometheus.yml

Configure el archivo de servicio de Prometheus.

vim /etc/systemd/system/prometheus.service

Copie el siguiente contenido en el archivo.

[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 y el archivo de salida.

Vuelva a cargar el servicio systemd.

systemctl daemon-reload

Inicie el servicio Prometheus.

systemctl start prometheus

Verifique el estado del servicio.

systemctl status prometheus

Estado
Estado

Agrega reglas de firewall.

firewall-cmd --zone=public --add-port=9090/tcp --permanent

Vuelva a cargar el servicio de firewall.

systemctl reload firewalld

Paso 5: Acceda a la interfaz web de Prometheus

Utilice la siguiente URL para acceder a la interfaz de usuario.

http://Server-IP:9090/graph

Entonces puedes ver la siguiente interfaz.

Interfaz de usuario
Interfaz de usuario

Paso 6: supervise el servidor Linux con Prometheus

Primero, debe configurar el exportador de nodos de Prometheus en un servidor Linux.

Copie la URL del exportador de nodos desde la página de descarga oficial.

Descargar Node Exporter
Descargar Node Exporter

Pegue la URL copiada después de wget en el siguiente comando:

wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz

Exportador de nodo
Exportador de nodo

Extraiga el paquete descargado.

tar -xvzf node_exporter-0.17.0.linux-amd64.tar.gz

Cree un usuario para el exportador de nodos.

useradd -rs /bin/false nodeusr

Mueva el binario a “/ usr / local / bin” desde el paquete extraído descargado.

mv node_exporter-0.17.0.linux-amd64/node_exporter /usr/local/bin/

Cree un archivo de servicio para el exportador de nodos.

vim /etc/systemd/system/node_exporter.service

Agregue el siguiente contenido al archivo.

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

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

[Install]
WantedBy=multi-user.target

Guardar y salir del archivo.

Vuelva a cargar el demonio del sistema.

systemctl daemon-reload

Inicie el servicio de exportador de nodos.

systemctl start node_exporter

Agregue una regla de firewall para permitir el exportador de nodos.

 firewall-cmd --zone=public --add-port=9100/tcp --permanent

Vuelva a cargar el servicio de firewall.

systemctl restart firewalld

Habilite el exportador de nodos en el arranque del sistema.

systemctl enable node_exporter

Ver la URL del exportador del nodo de exploración de métricas.

http://IP-Address:9100/metrics

Métricas del exportador de nodos
Métricas del exportador de nodos

Agregue el destino del exportador de nodos configurado en el servidor Prometheus.

Inicie sesión en el servidor Prometheus y modifique el archivo prometheus.yml

Edite el archivo:

vim /etc/prometheus/prometheus.yml

Agregue las siguientes configuraciones en la configuración de raspado.

 - job_name: 'node_exporter_centos'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.94.10.209:9100']

El archivo debería tener el siguiente aspecto.

Archivo modificado
Archivo modificado

Reinicie el servicio Prometheus.

systemctl restart prometheus

Inicie sesión en la interfaz web del servidor Prometheus y verifique los destinos.

http://Prometheus-Server-IP:9090/targets

Objetivo agregado
Objetivo agregado

Puede hacer clic en el gráfico y consultar las métricas del servidor y hacer clic en ejecutar para mostrar la salida. Mostrará la salida de la consola.

Navegador de consultas:

Seleccionar consulta
Seleccionar consulta

Salida de consola:

Salida de consola de memoria
Salida de consola de memoria

Haga clic en Gráfico para ver.

Gráfico de memoria
Gráfico de memoria

Paso 7: supervise el servidor MySQL con Prometheus

Inicie sesión en MySQL y ejecute las siguientes consultas.

CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 's56fsg#4W2126&dfk' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;

Descargue mysqld_exporter desde la página de descarga oficial.

Exportador de Mysqld
Exportador de Mysqld

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/mysqld_exporter-0.11.0.linux-amd64.tar.gz

Extraiga el archivo descargado.

tar -xvzf mysqld_exporter-0.11.0.linux-amd64.tar.gz

Agregue un usuario para mysqld_exporter.

useradd -rs /bin/false mysqld_exporter

Copie el archivo mysqld_exporter en / usr / bin.

 mv mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter /usr/bin

Cambiar la propiedad del archivo.

chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter

Cree las carpetas necesarias.

mkdir -p /etc/mysql_exporter

Cree un archivo de contraseña de MySQL para mysqld_exporter.

vim /etc/mysql_exporter/.my.cnf

Agregue las siguientes configuraciones al archivo.

[client]
user=mysqlexporter
password=sdfsg#4W2126&gh

Guardar y salir del archivo.

Cambiar de propietario.

chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter

Grant necesitaba el permiso.

chmod 600 /etc/mysql_exporter/.my.cnf

Cree un archivo de servicio.

vim /etc/systemd/system/mysql_exporter.service

Agregue el siguiente contenido al archivo.

[Unit]
Description=MySQL Server fosslinux
After=network.target

[Service]
User=mysqld_exporter
Group=mysqld_exporter
Type=simple
ExecStart=/usr/bin/mysqld_exporter 
--config.my-cnf="/etc/mysql_exporter/.my.cnf"
Restart=always

[Install]
WantedBy=multi-user.target

Vuelva a cargar el demonio del sistema.

 systemctl daemon-reload

Habilite mysql_exporter en el arranque del sistema.

systemctl enable mysql_exporter

Comienza el servicio.

systemctl start mysql_exporter

Vea las métricas usando la siguiente URL.

http://Server_IP:9104/metrics

Ver métricas
Ver métricas

Ahora vaya al servidor de Prometheus y modifique el archivo prometheus.yml.

 vim /etc/prometheus/prometheus.yml

Agregue el siguiente contenido al archivo.

- job_name: 'mysql_exporter_fosslinux'
    scrape_interval: 5s
    static_configs:
      - targets: ['10.94.10.204:9104']

Archivo editado
Archivo editado

Reinicie Prometheus.

 systemctl restart prometheus

Puede ver los objetivos agregados haciendo clic en los objetivos debajo del estado.

http://IP:9090/targets

Todos los objetivos
Todos los objetivos

Ahora puede seleccionar la consulta usando el navegador de consultas y obtener el resultado del servidor MySQL.

Eso es todo acerca de la instalación y configuración del servidor Prometheus en CentOS 7. Espero que hayas disfrutado de este tutorial. Háganos saber sus comentarios en los comentarios a continuación.

Deja una respuesta

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

Subir