# 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`).