Prometheus y Grafana Monitoring

Grafana es una plataforma de código abierto ampliamente utilizada para la visualización de datos. Permite crear paneles interactivos y gráficos dinámicos a partir de varias fuentes de datos. En esta guía, te enseñaré cómo instalar Grafana en un sistema Linux, conectarlo a una fuente de datos como Prometheus, y configurar un tablero (dashboard) para visualizar métricas clave del sistema como CPU, uso de memoria, uso de disco y mucho más.

1. Instalación de Grafana en Linux

1.1. Preparativos previos

Primero, asegúrate de que tu sistema esté actualizado. Ejecuta lo siguiente para actualizar los paquetes:

sudo apt update && sudo apt upgrade -y
1.2. Añadir el repositorio oficial de Grafana

Grafana puede instalarse desde su repositorio oficial. Para hacerlo, sigue los siguientes pasos:

  1. Añade la clave GPG:
   sudo apt-get install -y software-properties-common
   sudo wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
  1. Añade el repositorio de Grafana a tu lista de fuentes de apt:
   sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
1.3. Instalación de Grafana

Una vez añadido el repositorio, instala Grafana con:

sudo apt update
sudo apt install grafana -y
1.4. Iniciar y habilitar Grafana

Después de la instalación, inicia el servicio de Grafana y configúralo para que se inicie automáticamente en cada reinicio del sistema:

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Grafana debería estar ahora corriendo en tu máquina. Puedes acceder a la interfaz web de Grafana visitando http://localhost:3000 en tu navegador. El usuario y contraseña por defecto son admin/admin, pero se te pedirá que cambies la contraseña en el primer inicio de sesión.

2. Instalación de Prometheus para la recolección de métricas del sistema

Prometheus es un sistema de monitoreo y alerta de código abierto que se usa frecuentemente con Grafana para recolectar métricas de sistemas, aplicaciones, etc.

2.1. Instalación de Prometheus
  1. Descarga la última versión de Prometheus desde su página oficial o usa los siguientes comandos para la instalación rápida:
   sudo useradd --no-create-home --shell /bin/false prometheus
   sudo mkdir /etc/prometheus
   sudo mkdir /var/lib/prometheus
  1. Descarga el binario de Prometheus:
   wget https://github.com/prometheus/prometheus/releases/download/v2.32.1/prometheus-2.32.1.linux-amd64.tar.gz
   tar -xvf prometheus-*.tar.gz
   cd prometheus-X.Y.Z.linux-amd64 ./prometheus

Prometheus ahora se iniciará y escuchará en el puerto 9090 de forma predeterminada.

  1. Crea el archivo de configuración de Prometheus:
   sudo nano /etc/prometheus/prometheus.yml

Aquí está una configuración mínima para monitorear métricas locales del sistema:

   global:
     scrape_interval: 15s

   scrape_configs:
     - job_name: 'node_exporter'
       static_configs:
         - targets: ['localhost:9100']
2.2. Instalación de Node Exporter

Node Exporter es un módulo de Prometheus que permite recolectar métricas del sistema como CPU, memoria, disco, etc. para que Prometheus las almacene y Grafana las visualice.

  1. Descarga e instala Node Exporter:
   wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
   tar -xvf node_exporter-*.tar.gz
   sudo mv node_exporter-*/node_exporter /usr/local/bin/
  1. Inicia Node Exporter:
   sudo useradd --no-create-home --shell /bin/false node_exporter
   sudo touch /etc/systemd/system/node_exporter.service

Contenido del archivo node_exporter.service:

   [Unit]
   Description=Node Exporter

   [Service]
   User=node_exporter
   ExecStart=/usr/local/bin/node_exporter

   [Install]
   WantedBy=default.target
  1. Inicia y habilita Node Exporter:
   sudo systemctl daemon-reload
   sudo systemctl start node_exporter
   sudo systemctl enable node_exporter

3. Conectar Prometheus a Grafana

  1. Inicia sesión en tu instancia de Grafana y ve a Connections > Data Sources.
  2. Haz clic en Add data source y selecciona Prometheus de la lista.
  3. En el campo URL, ingresa http://localhost:9090, que es la dirección por defecto donde Prometheus corre.
  4. Haz clic en Save & Test para verificar que Grafana puede conectarse a Prometheus.

4. Creación de un Dashboard para monitorear métricas clave del sistema

Una vez que tengas Prometheus recolectando métricas y Grafana conectado, puedes crear un panel de control para visualizar métricas como uso de CPU, memoria, disco, y otras.

4.1. Crear un nuevo Dashboard
  1. Ve a Dashboards > New Dashboard y selecciona Add New Panel.
  2. En la sección de métricas, puedes escribir consultas de Prometheus como las siguientes:
  • CPU:
    promql rate(node_cpu_seconds_total{mode!="idle"}[1m])
  • Memoria:
    promql node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100
  • Uso de disco:
    promql node_filesystem_free_bytes{fstype!="tmpfs"} / node_filesystem_size_bytes{fstype!="tmpfs"} * 100
4.2. Consejos para el Dashboard
  • Organización: Agrupa métricas similares juntas. Por ejemplo, pon todas las métricas de CPU en una fila y las métricas de memoria en otra.
  • Alertas: Puedes configurar alertas en Grafana para que te notifique cuando los valores excedan un cierto umbral. Por ejemplo, si la memoria libre es inferior al 10%, podrías recibir una alerta.
  • Color y legibilidad: Usa colores para destacar métricas críticas o indicadores que estén fuera de los límites esperados. Esto facilita una rápida visualización de problemas.
  • Periodo de tiempo: Configura el rango de tiempo en la parte superior derecha del dashboard para ver las métricas de las últimas horas, días o semanas.
4.3. Uso de Dashboards predefinidos

Grafana tiene una comunidad activa que comparte dashboards listos para usar. Puedes buscar dashboards predefinidos para el monitoreo de sistemas en Grafana Dashboards e importarlos a tu instalación.

  1. Ve a Dashboards > Import.
  2. Ingresa el ID del dashboard que desees importar. Algunos ejemplos útiles incluyen:
  • Prometheus Node Exporter Full: ID 1860
  • Node Exporter Server Metrics: ID 405

Estos dashboards ya están preconfigurados para mostrar métricas comunes del sistema como CPU, memoria, disco y red.

5. Conclusión

Con Grafana y Prometheus, puedes crear un sistema de monitoreo robusto para tus servidores Linux, permitiéndote visualizar métricas clave de manera eficiente. Esta guía te ha llevado a través de la instalación de Grafana, Prometheus y Node Exporter, además de configurar un dashboard básico. Con la flexibilidad que ofrece Grafana, puedes seguir ajustando las visualizaciones y alertas para adaptarlas a tus necesidades específicas.

¡Disfruta monitoreando tus sistemas con esta poderosa combinación de herramientas!

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies