Monitorización del sistema Proxmox

De Wiket
Salta a la navegació Salta a la cerca

Monitorización mediante Prometheus

Vamos a utilizar prometheus para la monitorización de proxmox, esta es una aplicación de software gratuita utilizada para la supervisión y alerta de eventos y nos permite registrar métricas en tiempo real.


Primero vamos a instalar el agente que se encargará de exportar los datos del clúster, prometheus-exporter

Para ello tenemos que instalar el entorno de python3, ya que la herramienta se instala mediante el pip.

captura1pr

Creamos la carpeta con el entorno.

captura2pr

Instalamos el agente mediante /opt/prometheus-pve-exporter/bin/pip install prometheus-pve-exporter

captura3pr

Ya tenemos la herramienta instalada, y podemos ver con el flag --help los parámetros, para que funcione le tenemos que pasar un archivo pve.yml en el que pondremos el usuario y la contraseña del administrador del nodo.

captura4pr

Creamos un directorio y añadimos el pve.yml.

captura5pr

Utilizando la sentencia, pve_exporter /etc/prometheus/pve.yml, ya ponemos en funcionamiento el agente. Este se queda escuchando por el puerto :9221

captura7pr

Para que sea mas eficiente creamos un servicio, en el que se este siempre ejecutando en segundo plano. Este ejecuta la sentencia pve_exporter /etc/prometheus/pve.yml

captura8pr

Reiniciamos el daemon, arrancamos el servicio y vemos que esta activo y funcionando correctamente.

captura9pr

Y ahora activamos el servicio para que se inicie siempre.

prome1

Repetimos el mismo proceso en el otro nodo por si se cae un nodo, tener el otro exportando datos y que no se caiga el servicio.

Una vez tenemos los agentes instalados tenemos que crear la maquina de monitorización, esta la creamos dentro de un nodo para beneficiar-nos del HA y si se cayese de un nodo, se pasase al otro.

Para la maquina de monitorización instalaremos un ubuntu 20.04 Desktop.

La cargamos como iso image de manera local.

prome2

La vamos a instalar en el CEPH-VMS para que tenga una alta disponibilidad.

prome3

Creamos la máquina y le ponemos un nombre, esta coge un ID de máquina por defecto.

prome4

En storage elegimos el CEPH-VMS y le ponemos uno espacio de 124GB

prome5

Ya la tenemos creada ahora iniciamos la maquina.

prome6

Nos salta el instalador de ubuntu típico y hay que instalar el ubuntu como lo haríamos normalmente.

prome7

Le ponemos un usuario y una contraseña para la maquina.

prome8

Vamos a utilizar prometheus como sistema de monitorización ya que es 100% gratuito y muy eficiente. Por ello vamos a la página oficial y descargamos el paquete.

prome9

Creamos una carpeta en /etc que es donde lo tendremos almacenado.

prome10

Descomprimimos el .tar en el que viene y lo movemos todo a /etc/prometheus

prome11

Creamos una copia del archivo de configuración por si nuestra configuración petase y no sepamos como arreglar-lo, solo seria restablecer la configuración y volver a configurar.

prome12

Este es el archivo de configuración de prometheus ya configurado, lo que hemos añadido es un job que lo hemos llamado pve y le estamos indicando las ip de los dos agentes y el puerto desde el cual están enviando metricas que son los dos nodos.

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
           - localhost:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
  - job_name: 'pve'
    static_configs:
      - targets:
        - 192.168.41.6:9221  # Proxmox VE node with PVE exporter.
        - 192.168.41.7:9221  # Proxmox VE node with PVE exporter.
    metrics_path: /pve
    params:
      module: [default]

Para comprobar que los agentes llegan al ubuntu, con un nc podemos hacer una prueba al puerto del agente y si nos sale succeded, es que esta abierto y llegamos entonces esta todo correcto.

prome14

prome15

prome16

prome17

prome18

prome19

prome20

prome21

prome22

prome23

prome24

prome25

prome26

prome27

prome28

prome29

prome30

prome31

prome32

prome33

prome34

prome35

prome36

prome37

prome38

prome39

prome40

prome41

prome42






Volver a IETI Cloud Grupo 2