Prometheus es un conjunto de herramientas de código abierto creado inicialmente en SoundCloud para monitorear y alertar. El conjunto de herramientas ahora es un proyecto de código abierto independiente y se mantiene de forma independiente de cualquier empresa.
El kit de herramientas recopila métricas de objetivos monitoreados eliminando 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 temporal numérica. Se adapta tanto al monitoreo centrado en la máquina como al monitoreo de arquitectura orientada a servicios de alta dinámica. Además de facilitar la ejecución y la integración en su entorno, Prometheus ofrece un modelo de datos enriquecido y un lenguaje de consulta.
El siguiente tutorial muestra los pasos para instalar Prometheus en CentOS.
Instalar y configurar Prometheus en CentOS 7
Inicie sesión en la Terminal como raíz y comience a ejecutar los comandos a continuación.
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 reinicie el sistema.
reboot
Paso 3:descarga el paquete Prometheus
Vaya a la página oficial de descargas de Prometheus y copie la URL del archivo "tar" de Linux.
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 ve a la ubicación descargada de Prometheus y extráelo.
tar -xvzf prometheus-2.8.1.linux-amd64.tar.gz
Cámbiele 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 "consoles" 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
Cambiar 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
Guardar y salir del archivo.
Vuelva a cargar el servicio systemd.
systemctl daemon-reload
Inicie el servicio Prometheus.
systemctl start prometheus
Verifique el estado del servicio.
systemctl status prometheus
Agregue 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
Luego puede ver la siguiente interfaz.
Paso 6:monitorear el servidor Linux usando Prometheus
Primero, debe configurar el exportador de nodos Prometheus en un servidor Linux.
Copie la URL del exportador de nodos de la página de descarga oficial.
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
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
Guarde y salga del archivo.
Vuelva a cargar el demonio del sistema.
systemctl daemon-reload
Inicie el servicio 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
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.
Reinicie el servicio Prometheus.
systemctl restart prometheus
Inicie sesión en la interfaz web del servidor Prometheus y verifique los objetivos.
http://Prometheus-Server-IP:9090/targets
Puede hacer clic en el gráfico y consultar cualquier métrica del servidor y hacer clic en ejecutar para mostrar el resultado. Mostrará la salida de la consola.
Navegador de consultas:
Salida de consola:
Haga clic en Gráfico para ver.
Paso 7:monitorear el servidor MySQL usando 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.
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 a /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 MySQL para mysqld_exporter.
vim /etc/mysql_exporter/.my.cnf
Agregue las siguientes configuraciones al archivo.
[client] user=mysqlexporter password=sdfsg#4W2126&gh
Guarde y salga del archivo.
Cambiar propietario.
chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter
Otorga el permiso necesario.
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
Iniciar servicio.
systemctl start mysql_exporter
Vea las métricas utilizando la siguiente URL.
http://Server_IP:9104/metrics
Ahora ve al servidor Prometheus y modifica 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']
Reinicia Prometeo.
systemctl restart prometheus
Puede ver los objetivos agregados haciendo clic en los objetivos debajo del estado.
http://IP:9090/targets
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 hayan disfrutado este tutorial. Háganos saber sus comentarios en los comentarios a continuación.