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:
- 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 -
- 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
- 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
- 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.
- 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.
- 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/
- 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
- Inicia y habilita Node Exporter:
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
3. Conectar Prometheus a Grafana
- Inicia sesión en tu instancia de Grafana y ve a Connections > Data Sources.
- Haz clic en Add data source y selecciona Prometheus de la lista.
- En el campo URL, ingresa
http://localhost:9090
, que es la dirección por defecto donde Prometheus corre. - 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
- Ve a Dashboards > New Dashboard y selecciona Add New Panel.
- 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.
- Ve a Dashboards > Import.
- 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!