Prometheus es una poderosa solución de monitoreo de sistemas que tiene una base de datos de series temporales. Aquí, en este tutorial, aprendemos cómo instalar Prometheus en Debian 11 Bullseye Linux.
La idea clave detrás de la implementación de Prometheus es lograr un entorno que tenga un sistema dedicado de monitoreo, alertas y tendencias. En el mundo actual, donde las empresas enfrentan dificultades para configurar y controlar múltiples sistemas; existe la herramienta de monitoreo Prometheus, con una solución de configuración universal, las empresas pueden programar de forma independiente y también documentar el código de control para la tecnología de control respectiva (sistema operativo, PLC, nivel de E / S, etc.).
Ventajas clave de usar Prometheus:
- Reduce la complejidad de la planificación de proyectos
- Ahorre tiempo y esfuerzo al automatizar las cosas
- Múltiples modos para visualizar datos.
- Navegador de expresiones incorporado, integración con Grafana y un lenguaje de plantilla de consola.
- Permitir el puenteo de datos de terceros
- PromQL permite cortar y cortar en cubitos los datos recopilados de series temporales
- Sistema de Alertas
- Prometheus registra y documenta las respectivas estrategias de control
- Ya no se requiere una amplia experiencia para la implementación, la puesta en marcha o el despliegue.
- Todos los estándares se pueden gestionar de forma centralizada, independientemente del fabricante y el tipo de dispositivo.
Pasos para instalar Prometheus en Debian 11 Bullseye Linux
Los pasos dados aquí se realizaron en Debian 11, sin embargo, se pueden usar para Debian 10 Buster, Ubuntu 20.04 o 22.04 Linux.
1. Agregar un nuevo usuario del sistema
En lugar de instalar Prometheus con nuestro usuario actual, creamos un nuevo usuario del sistema para limitar algunos derechos.
Agreguemos primero un grupo llamado Prometheus:
sudo groupadd --system prometheus
Ahora, agregue un usuario y asígnelo al grupo creado anteriormente sin derechos de inicio de sesión.
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
2. Crear un directorio de usuarios para Prometheus
Cree algunas carpetas donde guardaremos los archivos necesarios para ejecutar Prometheus.
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
3. Descargar Supervisión de Prometheus para Debian 11
Además de la instalación fácil de usar de Docker, el binario de Prometheus también está disponible en formato de archivo para descargar e instalar para usar en Debian u otro Linux. Para obtener la última versión, el usuario puede visitar la página de descarga de su sitio web. o use el método de línea de comando:
curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -
Una vez que el archivo esté en su sistema, extráigalo:
Nota :Reemplace el Prometheus-2.32.1.linux-amd64 archivo con la versión que ha descargado.
Para listar todos los archivos en el directorio actual:
ls
tar -xvf prometheus-2.32.1.linux-amd64.tar.gz
Mueva los archivos extraídos al directorio que hemos creado:
sudo mv prometheus-2.32.1.linux-amd64 /etc/prometheus
Ahora otorgue permiso de directorios al usuario de Prometheus creado:
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
4. Configurar archivos y secuencias de comandos de Prometheus
Configuremos algunos de sus scripts y herramientas copiándolos en el directorio bin del usuario del sistema.
sudo cp /etc/prometheus/prometheus /usr/local/bin/ sudo cp /etc/prometheus/promtool /usr/local/bin/
5. Instale el servicio Prometheus Systemd en Debian 11
Una vez que se haya realizado toda la instalación y configuración anteriores para instalar Prometheus en Debian o Ubuntu, creemos un archivo de servicio Systemd para esta herramienta de monitoreo, de modo que pueda iniciarse y ejecutarse automáticamente en segundo plano como un servicio del sistema.
Cree un archivo, si nano no lo es, puede obtenerlo:sudo apt install nano -y
sudo nano /etc/systemd/system/prometheus.service
Copie y pegue las líneas dadas en el archivo:
[Unit] Description=Prometheus Documentation=https://prometheus.io/docs/introduction/overview/ 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 el archivo presionando Ctrl+O , pulsa Intro y luego use Ctrl+X para salir del archivo.
6. Inicie y habilite Prometheus
Una vez que se crea el archivo de servicio, iniciemos el servicio en segundo plano y habilitemos que se ejecute automáticamente con el arranque del sistema o cuando se bloquee.
sudo systemctl daemon-reload
sudo systemctl enable --now prometheus
Consulta el estado del servicio:
systemctl status prometheus
7. Acceder a la interfaz web
Como hemos confirmado que el servicio de este servicio de monitoreo se está ejecutando con éxito en nuestro sistema, acceda a su interfaz web.
Abra cualquier navegador que pueda acceder a la dirección IP de Debian 11 o cualquier otro servidor Linux similar que esté utilizando.
Apunte a http://server-ip-address:9090
Nota :Reemplazar, server-ip-address
con la dirección IP real de su servidor. Además, asegúrese de que el 9090 está abierto en el cortafuegos:
sudo ufw allow 9090
8. Buscar métrica y encontrar gráfico
Tras seguir los pasos anteriores ya tendrías la interfaz Web de Prometheus. Ahora, en el cuadro de búsqueda, escriba las "métricas" que desea buscar. Conozca más al respecto en Documentación oficial .
9. Cómo instalar Node_exporter Prometheus en Linux
Supervise otro hardware del sistema Linux configurando Prometheus Node Exporter en ellos.
Bueno, hasta ahora solo hemos instalado el servidor , mientras que para obtener las métricas de otros sistemas de destino tenemos que declarar su dirección IP en el prometheus.yml para obtener las métricas de los sistemas de origen. Lo vemos más adelante aquí.
Digamos que tenemos cinco sistemas en la red para monitorear.
Primero, instala Node_Exporter en los cinco sistemas Linux que desea monitorear enviando sus métricas al servidor Prometheus. Donde, Node Exporter está diseñado para exportar métricas de máquinas de la misma manera que otros exportadores están disponibles para servidores que se ejecutan con MySQL, haproxy_exporter, graphite_exporter y más.
Por lo tanto, necesitamos configurar Node_Exporter para recopilar las métricas usando los comandos dados; será el mismo para todos los Linux, ya sea basado en RPM o Debian.
1. Descargar Exportador de nodos
curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi -
2. Extrae el archivo descargado:
tar -xvf node_exporter-*.linux-amd64.tar.gz
3. Mueva el archivo del servicio de exportación de Node a bin:
sudo mv node_exporter-*.linux-amd64/node_exporter /usr/local/bin/
4. Cree un usuario para ejecutar el servicio Node Exporter
sudo useradd -rs /bin/false node_exporter
5. Crear archivo de servicio de Systemd:
Para ejecutar el exportador de nodos como un servicio de sistema en segundo plano, cree un archivo de servicio:
sudo nano /etc/systemd/system/node_exporter.service
Copia y pega las siguientes líneas:
[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
Guardar el archivo- Ctrl+O pulsa Intro y salir:Ctrl+X .
Nota :si está en RedHat, AlmaLinux, Rocky Linux u otra máquina similar a Target para descartar métricas, primero configure SELinux al modo permisivo.
sudo setenforce permissive
6. Iniciar y habilitar el servicio
Ahora, hagamos que se ejecute en segundo plano:
sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter
Comprobar estado:
systemctl status node_exporter
7. Abra el puerto 9100 en el cortafuegos
1. Para Debian o Ubuntu
sudo ufw allow 9100
2. Para Redhat, AlmaLinux, Rocky Linux y otros sistemas basados en RPM:
sudo firewall-cmd --zone=public --add-port=9100/tcp --permanent
sudo firewall-cmd --reload
7. Agregue la dirección IP de la máquina de destino en el servidor prometheus.yml
Ahora, vuelva a acceder a su servidor Debian o Ubuntu ejecutando la línea de comandos del servidor Prometheus y edite su archivo YML.
Digamos que tiene cinco sistemas para monitorear usando Prometheus luego edite su archivo YML que es:
sudo nano /etc/prometheus/prometheus.yml
Y al final del archivo añadir
- job_name: 'node_exporter_metrics' scrape_interval: 5s static_configs: - targets: ['192.168.1.37:9100','192.168.1.36:9100','192.168.1.37:9100']
En Destinos, agregue las direcciones IP en el formato dado de las máquinas que desea monitorear.
Guarde el archivo presionando Ctrl+O , pulsa Intro , para salir Ctrl+X .
1. Comprobar que Prometheus YMKL es válido o no
Ahora para confirmar si el archivo YML que hemos editado es válido sin ningún error de sintaxis.
promtool check config /etc/prometheus/prometheus.yml
2. Reinicie el servidor Prometheus
sudo systemctl restart prometheus
Además, no olvides comprobar el estado del servicio:
systemctl status prometheus
8. Supervise la máquina de destino en la interfaz de usuario web de Prometheus
Vaya a la interfaz web, para eso abra nuevamente el navegador y apúntelo a http:server-ip-adderess:9090/targets
Ahora, puede comenzar a monitorear y extraer métricas de todas las máquinas Target Linux agregadas. Entonces, este fue el tutorial rápido sobre cómo configurar el servidor Prometheus en Debian 11 bullseye junto con las máquinas Target para obtener datos de métricas.