Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo instalar y configurar Alerta en linux

 Le preguntamos a Gemini, la inteligencia artificial de Google, cómo instalar y configurar Alerta en linux

Explicanos detalladamente cómo instalar y configurar Alerta en linux

Alerta es un sistema de consolidación, desduplicación y visualización de alertas en tiempo real diseñado para integrarse con múltiples herramientas de monitoreo (como Prometheus, Zabbix, Nagios, Grafana y Webhooks).

Su arquitectura consta de tres partes principales:

Alerta Server:
API en Python/Flask que procesa, correlaciona y almacena las alertas.

Base de Datos: PostgreSQL (recomendado) o MongoDB.

Alerta Web UI / CLI: Consola web en HTML5/JavaScript y cliente de línea de comandos para gestión de eventos.

1.1. Instalar Dependencias del Sistema y Base de Datos:

PostgreSQL + Python3 + Nginx.


Instala los paquetes base requeridos en tu servidor Linux (ejemplo para Ubuntu/Debian):

Bash

sudo apt update && sudo apt install -y \

python3-pip python3-venv python3-dev \

postgresql postgresql-contrib \

nginx curl git build-essential


Crea la base de datos y el usuario en PostgreSQL:

Bash

sudo -u postgres psql -c "CREATE USER alerta WITH PASSWORD 'TuPasswordSegura123';"

sudo -u postgres psql -c "CREATE DATABASE alertadb OWNER alerta;"

2.2. Crear Entorno Virtual e Instalar Alerta Server:

Entorno aislado en /opt/alerta.

Se recomienda instalar Alerta dentro de un entorno virtual de Python (venv) para evitar conflictos con librerías del sistema.

Bash

# Crear directorio y entorno virtual


sudo mkdir -p /opt/alerta

sudo chown -R $USER:$USER /opt/alerta

python3 -m venv /opt/alerta/venv


# Activar e instalar alerta-server, cliente y servidor WSGI (Gunicorn)

source /opt/alerta/venv/bin/activate

pip install --upgrade pip setuptools

pip install alerta-server alerta psycopg2-binary gunicorn


Verificación:
Ejecuta /opt/alerta/venv/bin/alerta-server --version para confirmar que se instaló correctamente.

3.3. Configurar el Servidor de Alerta:

/etc/alertad.conf.


Crea el archivo de configuración global /etc/alertad.conf:

Bash

sudo nano /etc/alertad.conf

Agrega la configuración básica con conexión a PostgreSQL:

Ini, TOML

# Configuración de Base de Datos

DATABASE_URL = 'postgres://alerta:TuPasswordSegura123@localhost:5432/alertadb'

DATABASE_NAME = 'alertadb'

# Seguridad y Clave Secreta (genera una clave aleatoria)

SECRET_KEY = 'cambia_esta_clave_por_una_cadena_larga_y_aleatoria'

# Autenticación (desactivada inicialmente para pruebas; activable con LDAP/Basic/OAuth)

AUTH_REQUIRED = False

CORS_ORIGINS = ['*']

# Plugins activos (ejemplo: desduplicación por defecto)

PLUGINS = ['reject']

Asegura permisos de lectura para el servidor web:

Bash

sudo chmod 644 /etc/alertad.conf

4.4. Descargar e Instalar Alerta Web UI:

Descarga de la consola web estática.


Descarga la versión compilada del frontend Web UI desde GitHub:

Bash

cd /tmp

# Descargar la última versión de la Web UI

curl -LO https://github.com/alerta/alerta-webui/releases/latest/download/alerta-webui.tar.gz

# Extraer en la ruta web de Alerta

sudo mkdir -p /opt/alerta/webui

sudo tar -xvf alerta-webui.tar.gz -C /opt/alerta/webui --strip-components=1


Crea el archivo de configuración del frontend /opt/alerta/webui/config.js:

Bash

sudo nano /opt/alerta/webui/config.js

JavaScriptwindow.config = {

'endpoint': '/api',

'provider': 'basic'

};


5.5. Crear el Servicio del Sistema (Systemd):

Servicio Systemd con Gunicorn.

Crea el archivo de unidad /etc/systemd/system/alerta.service para gestionar la API en segundo plano mediante Gunicorn:

Bash

sudo nano /etc/systemd/system/alerta.service

Ini, TOML[Unit]

Description=Alerta Server Engine

After=network.target postgresql.service



[Service]

User=www-data

Group=www-data

WorkingDirectory=/opt/alerta

Environment="ALERTA_SVR_CONF_FILE=/etc/alertad.conf"

ExecStart=/opt/alerta/venv/bin/gunicorn \

        --workers 4 \

        --bind 127.0.0.1:8080 \

        --access-logfile /var/log/alerta-access.log \

        --error-logfile /var/log/alerta-error.log \

        alerta.app:app



[Install]

WantedBy=multi-user.target


Ajusta permisos, habilita e inicia el servicio:

Bash


sudo chown -R www-data:www-data /opt/alerta

sudo systemctl daemon-reload

sudo systemctl enable --now alerta


Verificación: Ejecuta systemctl status alerta para comprobar que el estado sea active (running).

6.6. Configurar Nginx como Reverse Proxy:

Proxy inverso /api y estáticos.


Configura Nginx para servir la interfaz web y redirigir las peticiones /api al backend en el puerto 8080.

Crea /etc/nginx/sites-available/alerta:

Nginx

server {

      listen 80;

      server_name alerta.tu-dominio.com; # O la IP de tu servidor

 

      client_max_body_size 5M;

      # Interfaz Web UI

      location / {

             root /opt/alerta/webui;

             index index.html;

             try_files $uri $uri/ /index.html;

      }



      # API Backend

      location /api {

             proxy_pass http://127.0.0.1:8080;

             proxy_set_header Host $host;

             proxy_set_header X-Real-IP $remote_addr;

             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

             proxy_set_header X-Forwarded-Proto $scheme;

      }

}


Activa el sitio y reinicia Nginx:

Bash

sudo ln -s /etc/nginx/sites-available/alerta /etc/nginx/sites-enabled/

sudo nginx -t

sudo systemctl restart nginx


7.7. Validar la Instalación y Probar el Cliente CLI:

Envío de alerta de prueba.


Configura el cliente CLI alerta en tu terminal local para enviar tu primera alerta de prueba:

Bash


# Configurar la URL de la API para la CLI

export ALERTA_API_URL=http://localhost/api

 

# Enviar una alerta sintética de prueba

/opt/alerta/venv/bin/alerta send \

      --resource "srv-web-01" \

      --event "HighCPU" \

      --environment "Production" \

      --severity "major" \

      --service "WebSite" \

      --text "El uso de CPU supera el 90%"

Accede a tu navegador e ingresa a http://<IP_DE_TU_SERVIDOR>/. Deberás ver la consola de Alerta mostrando la alerta recién creada.

Resumen de Enrutamiento y Puertos


ComponenteDirección / Puerto InternoFunción
Nginx (Frontend + Proxy)http://<IP_SERVIDOR>:80/Sirve la consola Web UI y enruta /api.
API Gunicorn (Backend)[http://127.0.0.1:8080/api](http://127.0.0.1:8080/api)Procesa las alertas, desduplica y atiende integraciones.
PostgreSQLlocalhost:5432 (alertadb)Almacena el historial y estado de las alertas.

¿Qué integración o ajuste de seguridad deseas configurar a continuación?

Integrar con Prometheus / Alertmanager

Integrar con Zabbix

Activar Autenticación (LDAP / Basic / OAuth)

Ads by CJ - Linux Foundation

Share This