¿Qué es Prometheus?
Prometheus es un sistema de monitoreo de código abierto que se utiliza para recopilar y almacenar métricas de aplicaciones e infraestructura. Es una herramienta popular para la monitorización de sistemas en la nube, especialmente en Kubernetes.
Características principales:
- Recopilación de métricas: Prometheus puede recopilar métricas de una variedad de fuentes, incluyendo:
- Aplicaciones: Puede recopilar métricas de aplicaciones mediante la exposición de puntos finales HTTP.
- Infraestructura: Puede recopilar métricas de infraestructura mediante SNMP, JMX, y otros protocolos.
- Almacenamiento de métricas: Almacena las métricas en una base de datos de series temporales. Esto permite a los usuarios consultar las métricas a lo largo del tiempo y detectar tendencias.
- Alertas: Genera alertas cuando las métricas alcanzan ciertos umbrales.
- Visualización: Prometheus proporciona una interfaz web para visualizar las métricas.
Componentes principales:
- Servidor Prometheus: El servidor es el componente central. Es responsable de recopilar, almacenar y servir las métricas.
- Librería cliente Prometheus: La librería cliente se utiliza para instrumentar aplicaciones y exponer las métricas a Prometheus.
- Exportadores: Los exportadores son agentes que recopilan métricas de diferentes fuentes y las envían al servidor.
- Alertmanager: Es un componente opcional que se utiliza para generar y enviar alertas.
Beneficios de usar Prometheus:
- Código abierto: Es una herramienta de código abierto, lo que significa que es gratuita de usar y modificar.
- Escalable: Puede escalar para monitorizar grandes infraestructuras.
- Flexible: Puede recopilar métricas de una variedad de fuentes.
- Potente: Proporciona un lenguaje de consulta potente para analizar las métricas.
Guía paso a paso para instalar Prometheus en Ubuntu Server 22.04:
Paso 1: Actualizar los paquetes del sistema operativo
sudo apt update
Paso 2: Instalar el paquete Prometheus
sudo apt install prometheus
Paso 3: Configurar Prometheus
- Editar el archivo de configuración
/etc/prometheus/prometheus.yml
. - Agregar el exporter o recolector de datos: (Veremos la instalación del Exporter en el próximo post)
- En la sección job_name, agregar el nombre del job que deseas monitorizar. En este caso, se usa podman.
- En la sección static_configs, agregar la dirección IP del equipo a monitorizar y el puerto del exporter. En este caso, se usa la IP 172.30.160.40 y el puerto 9882. (Recuerden colocar la ip del equipo donde se instalara el exporter, que veremos el procedimiento en el próximo post)
Ejemplo:
- job_name: podman
# If prometheus-node-exporter is installed, grab stats about the local
# machine by default.
static_configs:
- targets: ['172.30.160.40:9882']
- Agregar las reglas de monitoreo:
- En la sección rule_files, agregar las rutas a los archivos que contienen las reglas de monitoreo. En este caso, se usan los archivos /etc/prometheus/alert.rules y /etc/prometheus/podman.rules.
Ejemplo:
rule_files:
- /etc/prometheus/alert.rules
- /etc/prometheus/podman.rules
- Agregar la configuración del servicio Alertmanager:
- En la sección alerting, agregar la configuración del servicio Alertmanager. En este caso, se usa la dirección IP 172.30.160.40 y el puerto 9093.
Ejemplo:
alerting:
alertmanagers:
- static_configs:
- targets: ['172.30.160.40:9093']
Paso 4: Verificar la instalación
- Iniciar el servicio Prometheus:
sudo systemctl start prometheus
- Verificar el estado del servicio:
sudo systemctl status prometheus
- Acceder a la interfaz web de Prometheus:
http://localhost:9090
Para cualquier consulta o sugerencia no duden en contactarnos.