oglog/script/Documentación script OgLog.md

5.1 KiB

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