131 lines
5.1 KiB
Markdown
131 lines
5.1 KiB
Markdown
# Documentación script OgLog
|
|
|
|
Este script automatiza la configuración de un entorno basado en OpenSearch, OpenSearch Dashboards, Prometheus, Grafana, y otras herramientas. Incluye la instalación, configuración de certificados SSL y ajuste de servicios para garantizar seguridad y funcionamiento adecuado.
|
|
|
|
---
|
|
|
|
## Requisitos Previos
|
|
|
|
1. **Variables de Entorno**:
|
|
- `IP_MAQUINA`: Dirección IP del servidor donde se ejecutará el script.
|
|
- `OPENSEARCH_INITIAL_ADMIN_PASSWORD`: Contraseña inicial del administrador para OpenSearch.
|
|
|
|
La contraseña debe:
|
|
|
|
- Tener al menos 12 caracteres.
|
|
- Incluir una mayúscula, un número y un carácter especial.
|
|
1. **Script para Generar Certificados**:
|
|
|
|
Este script depende de otro llamado `mkcerts.sh` que genera certificados SSL necesarios. Alternativamente, puedes usar certificados propios. Es importante que la carpeta `CA` se encuentre en la misma ruta desde la cual se ejecuta este script. Los certificados deben colocarse en las siguientes subcarpetas dentro de `CA`:
|
|
|
|
- **`CA/certs/`**: para los archivos de certificados (`.crt.pem`).
|
|
- **`CA/private/`**: para los archivos de llaves privadas (`.key.nopass.pem`).
|
|
|
|
---
|
|
|
|
## Funcionalidad del Script
|
|
|
|
### 1. **Validación Inicial**
|
|
|
|
- Verifica la presencia de variables de entorno esenciales.
|
|
- Valida que la contraseña cumple con los requisitos mínimos de seguridad.
|
|
|
|
### 2. **Actualización del Archivo `/etc/hosts`**
|
|
|
|
El script agrega entradas al archivo `/etc/hosts` para permitir la resolución de los siguientes nombres de dominio en el entorno:
|
|
|
|
- **`oglog-os.mytld`**
|
|
- **`oglog-osdb.mytld`**
|
|
- **`oglog-jb.mytld`**
|
|
- **`oglog-jrem.mytld`**
|
|
- **`oglog-prom.mytld`**
|
|
- **`oglog-graf.mytld`**
|
|
|
|
Cada uno de estos dominios estará asociado a la IP especificada en la variable de entorno `IP_MAQUINA`.
|
|
|
|
### 3. **Instalación de Dependencias**
|
|
|
|
Instala herramientas esenciales como `ca-certificates`, `gnupg2`, `lsb-release`, y `systemd-journal-remote`.
|
|
|
|
### 4. **Ejecución de `mkcerts.sh`**
|
|
|
|
Este script genera los certificados SSL requeridos. Si decides usar certificados diferentes, deben colocarse en las ubicaciones mencionadas en la sección de requisitos previos.
|
|
|
|
### 5. **Configuración de Certificados**
|
|
|
|
- Copia y enlaza los certificados generados en las ubicaciones correspondientes.
|
|
- Establece los certificados SSL para cada herramienta (OpenSearch, OpenSearch Dashboards, Prometheus, etc.).
|
|
|
|
### 6. **Instalación y Configuración de OpenSearch**
|
|
|
|
- Agrega repositorios y claves para OpenSearch y OpenSearch Dashboards.
|
|
- Configura OpenSearch (`/etc/opensearch/opensearch.yml`) con certificados SSL, IP del servidor y otras opciones de seguridad.
|
|
|
|
### 7. **Instalación y Configuración de Prometheus**
|
|
|
|
- Copia los certificados necesarios a `/etc/prometheus/`.
|
|
- Configura Prometheus para usar TLS y añade trabajos para monitorización.
|
|
|
|
### 8. **Instalación y Configuración de Journalbeat**
|
|
|
|
- Descarga e instala Journalbeat.
|
|
- Configura el acceso a ElasticSearch con certificados y credenciales.
|
|
|
|
### 9. **Instalación y Configuración de Grafana**
|
|
|
|
- Instala Grafana y configura el acceso HTTPS.
|
|
- Establece Prometheus como fuente de datos predeterminada.
|
|
- Descarga y configura un dashboard prediseñado.
|
|
|
|
### 10. **Acceso a las Herramientas Configuradas**
|
|
|
|
Una vez que el script haya finalizado, podrás acceder a las herramientas configuradas mediante los siguientes enlaces:
|
|
|
|
1. **OpenSearch**:
|
|
- URL: `https://oglog-os.mytld:9200`
|
|
- Credenciales:
|
|
- Usuario: `admin`
|
|
- Contraseña: La definida en la variable `OPENSEARCH_INITIAL_ADMIN_PASSWORD`.
|
|
2. **OpenSearch Dashboards**:
|
|
- URL: `https://oglog-osdb.mytld:5601`
|
|
3. **Prometheus**:
|
|
- URL: `https://oglog-prom.mytld:9090`
|
|
4. **Grafana**:
|
|
- URL: `https://oglog-graf.mytld:3000`
|
|
- Credenciales iniciales por defecto:
|
|
- Usuario: `admin`
|
|
- Contraseña: `admin` (es recomendable cambiarla tras el primer inicio de sesión).
|
|
|
|
---
|
|
|
|
## Ubicaciones de Certificados por Servicio
|
|
|
|
1. **OpenSearch**:
|
|
- Certificado raíz: `/etc/opensearch/ca.crt.pem`.
|
|
- Certificado del servicio: `/etc/opensearch/oglog-os.mytld.crt.pem`.
|
|
- Llave privada: `/etc/opensearch/oglog-os.mytld.key.pem`.
|
|
2. **OpenSearch Dashboards**:
|
|
- Certificado del servicio: `/etc/opensearch-dashboards/oglog-osdb.mytld.crt.pem`.
|
|
- Llave privada: `/etc/opensearch-dashboards/oglog-osdb.mytld.key.pem`.
|
|
3. **Prometheus**:
|
|
- Certificado del servicio: `/etc/prometheus/oglog-prom.mytld.crt.pem`.
|
|
- Llave privada: `/etc/prometheus/oglog-prom.mytld.key.pem`.
|
|
4. **Journalbeat**:
|
|
- Certificado del servicio: `/etc/journalbeat/oglog-jb.mytld.crt.pem`.
|
|
- Llave privada: `/etc/journalbeat/oglog-jb.mytld.key.pem`.
|
|
5. **Grafana**:
|
|
- Certificado del servicio: `/etc/grafana/oglog-graf.mytld.crt.pem`.
|
|
- Llave privada: `/etc/grafana/oglog-graf.mytld.key.pem`.
|
|
|
|
---
|
|
|
|
## Servicios Configurados
|
|
|
|
Los siguientes servicios se habilitan y se inician automáticamente:
|
|
|
|
- OpenSearch (`opensearch.service`).
|
|
- OpenSearch Dashboards (`opensearch-dashboards.service`).
|
|
- Prometheus.
|
|
- Journalbeat.
|
|
- Grafana (`grafana-server`).
|
|
- Systemd Journal Remote (`systemd-journal-remote.service`). |