Cómo instalar OpenSearch en Debian 11
OpenSearch es un proyecto de Amazon impulsado por la comunidad y una bifurcación de Elasticsearch y Kibana. Se trata de un motor de búsqueda y una suite de análisis totalmente de código abierto, con ricas características y una funcionalidad innovadora. El componente principal del proyecto OpenSearch es OpenSearch (una bifurcación de Elasticsearch) y OpenSearch Dashboards (una bifurcación de Kibana). Ambos componentes proporcionan funciones como seguridad empresarial, alertas, aprendizaje automático, SQL, gestión del estado de los índices y mucho más.
OpenSearch es 100% de código abierto y tiene licencia Apache 2.0. Te permite ingestar, proteger, buscar, agregar, visualizar y analizar datos fácilmente para una serie de casos de uso, como el análisis de registros, la búsqueda de aplicaciones, la búsqueda empresarial, etc.
En este tutorial, desplegarás OpenSearch -una suite de búsqueda, análisis y visualización de código abierto- en el servidor Debian 11. Este proceso incluye la descarga del paquete OpenSearch y su instalación manual en tu sistema Debian. También configurarás certificados SSL/TLS seguros para OpenSearch y asegurarás el despliegue con autenticación y autorización.
Además, también desplegarás e instalarás OpenSearch Dashboards -una herramienta de visualización de código abierto- y la configurarás con OpenSearch. Al final, tendrás la suite de análisis y visualización de datos instalada en tu servidor Debian y tendrás que enviar tus datos a través de herramientas como fluentd, Logstash, filebeat y muchas más.
Prerequisitos
Para completar esta guía, debes tener los siguientes requisitos:
- Un servidor con Debian 11 instalado y al menos 8 GB de RAM. Este ejemplo utiliza un sistema Debian con el nombre de host«nodo1» y la dirección IP local«192.168.5.50«.
- Un usuario no root con privilegios de administrador sudo/root.
Si estos requisitos están listos, ya puedes iniciar la instalación de OpenSearch.
Configurar el sistema
En el primer paso, configurarás y optimizarás tu servidor Debian para la instalación de OpenSearch. Configurarás el nombre de host y el fqdn del sistema, desactivarás la paginación de memoria y el swap, y aumentarás el número máximo de mapas de memoria.
Desactivar la paginación y el intercambio de memoria en el host de OpenSearch mejorará el rendimiento. Para los mapas de memoria máximos, necesitarás establecer un número de al menos‘262144‘ para producción.
Ejecuta el siguiente comando ‘hostnamectl’ para configurar el nombre de host del sistema. A continuación, añade la configuración fqdn al archivo‘/etc/hosts‘. En este ejemplo, el nombre de host debe ser«nodo1» con fqdn«nodo1.hwdomain.lan«.
sudo hostnamectl set-hostname node1 echo "192.168.5.50 node1.hwdomain.lan node1" >> /etc/hosts
Ahora comprueba el fqdn de tu servidor mediante el siguiente comando hostname. En el ejemplo, el fqdn del servidor debe ser ‘nodo1.hwdomain.lan’.
hostname -f
Salida:
A continuación, tendrás que desactivar la swap en tu sistema. Tanto si utilizas el intercambio a través de una partición como de un archivo, la configuración del intercambio se almacena en el archivo‘/etc/fstab‘.
Ejecuta el siguiente comando para desactivar la swap en tu sistema. El comando‘sed’ desactivará aquí el swap permanentemente a través del archivo ‘ /etc/fstab‘ añadiendo el commend‘#‘ al principio de la configuración de swap de la línea. El comando «swapoff» desactivará el intercambio en la sesión actual.
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab sudo swapoff -a
Comprueba el estado del intercambio mediante el comando siguiente. Si está desactivado, deberías obtener una salida‘0’ en la sección swap.
free -m
Salida:
Por último, añadirás la configuración al archivo‘/etc/sysctl.conf ‘ para aumentar los mapas de memoria máximos de tu sistema.
Ejecuta el siguiente comando para añadir el parámetro‘vm.max_map_count=262144‘ al archivo ‘/etc/sysctl.conf’. A continuación, aplica los cambios mediante el comando«sysctl -p«.
sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf sudo sysctl -p
Verifica los mapas de memoria máxima ejecutando el siguiente comando. Si se ejecuta correctamente, tu mapa de memoria máxima debería ser«262144«.
cat /proc/sys/vm/max_map_count
Resultado:
Con tu sistema configurado y optimizado, estás listo para instalar OpenSearch sobre él.
Descargar OpenSearch
OpenSearch se puede instalar de muchas formas. En este ejemplo, instalarás OpenSearch mediante un Tarball. En este paso, crearás un nuevo usuario de sistema dedicado ‘opensearch’, descargarás el paquete tarball de OpenSearch y, a continuación, configurarás el directorio de instalación de OpenSearch con los permisos y la propiedad correctos.
En primer lugar, añade el nuevo usuario de sistema «opensearch» utilizando el siguiente comando.
sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch
Añade un nuevo grupo ‘opensearch‘ utilizando el comando groupadd que aparece a continuación. A continuación, añade el usuario de sistema ‘opensearch‘ al grupo ‘opensearch‘ mediante el comando usermod.
sudo groupadd opensearch sudo usermod -aG opensearch opensearch
Ahora crea un nuevo directorio personal «/home/opensearch» y cambia la propiedad del directorio personal«/home/opensearch» al usuario «opensearch«.
mkdir -p /home/opensearch sudo chown -R opensearch /home/opensearch
Salida:
A continuación, descarga el paquete OpenSource mediante el comando wget. Una vez finalizada la descarga, extrae el archivo mediante el siguiente comando tar. En este ejemplo, instalarás OpenSearch 2.4.1. Consulta la última versión de OpenSearch en la página oficial de descargas.
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.4.1/opensearch-2.4.1-linux-x64.tar.gz tar xf opensearch-2.4.1-linux-x64.tar.gz
Una vez extraído el paquete OpenSearch, mueve el directorio extraído a ‘/opt/opensearch’. Éste será el directorio principal de instalación de OpenSearch. A continuación, ejecuta el comando chown para cambiar la propiedad del directorio ‘/opt/opesearch’ al usuario‘opensearch‘.
mv opensearch-2.4.1 /opt/opensearch sudo chown -R opensearch /opt/opensearch
Salida:
Ahora que has descargado el paquete OpenSearch, configura el directorio principal de instalación a ‘/opt/opensearch’. A continuación, establecerás y configurarás tu instalación de OpenSearch.
Configurar OpenSearch
En este paso, configurarás OpenSearch para que se ejecute en una dirección IP concreta, se ejecute en un único nodo, actives los plugins de seguridad de OpenSearch y configures la memoria máxima de montón para el proceso OpenSearch. Todo esto se puede hacer editando el archivo de configuración de OpenSearch ‘/opt/opensearch/config/opensearch.yml’ y el archivo de opciones JVM de OpenSearch ‘config/jvm.options’.
Mueve el directorio de trabajo a‘/opt/opensearch‘ mediante el comando cd.
cd /opt/opensearch
Abre el archivo de configuración de OpenSearch‘config/opensearch.yml’ utilizando el comando nano del editor.
sudo nano config/opensearch.yml
Añade las siguientes líneas al archivo.
# Bind OpenSearch to interface or IP address network.host: 192.168.5.50
# OpenSearch deployment type
discovery.type: single-node
# Re-enable security plugins
plugins.security.disabled: false
Guarda y sal del archivo ‘config/opensearch.yml‘ cuando hayas terminado.
Detalla los parámetros:
- El parámetro ‘network.host’ se utiliza para vincular OpenSearch a una dirección IP concreta. En este ejemplo, OpenSearch se ejecutará en la dirección IP interna‘192.168.5.50‘.
- El parámetro ‘discovery.type: single-node‘ se utiliza cuando quieres desplegar OpenSearch en un único nodo.
- El parámetro‘plugins.security.disabled‘ se establece en‘false‘, lo que significa que se activará el plugin de seguridad para OpenSearch.
A continuación, abre el archivo‘config/jvm.options‘ utilizando el siguiente comando del editor nano.
sudo nano config/jvm.options
Ajusta la memoria heap máxima para el proceso OpenSearch. Este ajuste depende de la memoria disponible o RAM de tu servidor. Este ejemplo asignará 2GB de memoria para OpenSearch.
-Xms2g -Xmx2g
Guarda y sal del archivo‘config/jvm.options‘ cuando hayas terminado.
Por último, ejecuta el siguiente comando para configurar una variable de entorno‘OPENSEARCH_JAVA_HOME‘ en tu sesión actual. El paquete OpenSearch incluye los paquetes java y JDK necesarios, que están disponibles en el directorio ‘/opt/opensearch/jdk’.
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk echo $OPENSEARCH_JAVA_HOME
Una vez finalizadas las configuraciones básicas de OpenSearch. a continuación, generarás los certificados TLS y asegurarás el despliegue de OpenSearch.
Generar certificados TLS
En este paso, generarás varios certificados que se utilizarán para asegurar el despliegue de OpenSearch. Asegurarás las comunicaciones de nodo a nodo con certificados TLS y asegurarás el tráfico de la capa REST entre las comunicaciones cliente-servidor mediante TLS.
A continuación se muestra la lista de certificados que se generarán:
- Certificados de CA raíz: Estos certificados se utilizarán para firmar otros certificados.
- Certificados deadministrador: Estos certificados se utilizarán para obtener derechos administrativos para realizar todas las tareas relacionadas con el plugin de seguridad.
- Certificados deNodo y Cliente: Estos certificados serán utilizados por los nodos y clientes dentro del cluster OpenSearch.
Antes de empezar, ejecuta el siguiente comando para crear un nuevo directorio‘/opt/opensearch/config/certs‘, y mueve tu directorio de trabajo a él. Este directorio se utilizará para almacenar los certificados TLS.
mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs
Generar certificados de CA raíz
Genera una clave privada para los certificados de CA raíz utilizando lo que se indica a continuación.
openssl genrsa -out root-ca-key.pem 2048
Ahora genera un certificado CA raíz autofirmado mediante el siguiente comando. También puedes cambiar los valores del parámetro‘-subj‘ con tu información.
openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730
Con esto, deberías obtener la clave privada de la CA raíz‘root-ca-key. pem‘ y el certificado de la CA raíz ‘root-ca.pem‘.
Salida:
Generar certificados de administrador
Genera la nueva clave privada del certificado admin ‘admin-key-temp.pem’ utilizando el siguiente comando.
openssl genrsa -out admin-key-temp.pem 2048
Convierte la clave privada admin por defecto al formato PKCS#8. Para la aplicación Java, tienes que convertir la clave privada por defecto a un algoritmo compatible con PKCS#12 (3DES). Con esto, tu clave privada admin debería ser‘admin-key.pem‘.
openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem
A continuación, ejecuta el siguiente comando para generar la CSR (Solicitud de Firma de Certificado) del administrador a partir de la clave privada «admin-key.pem». El CSR generado debería ser el archivo«admin.csr«.
Como este certificado se utiliza para autenticar el acceso elevado y no está vinculado a ningún host, puedes utilizar cualquier cosa en la configuración‘CN‘.
openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr
Por último, ejecuta el siguiente comando para firmar el CSR admin con el certificado CA raíz y la clave privada. El resultado del certificado de administrador es el archivo«admin.pem«.
openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Tu certificado de administrador debe ser ahora el archivo ‘admin.pem’, que está firmado con los certificados de la CA raíz. Y la clave privada admin es ‘admin-key.pem‘, que se convierte al formato PKCS#8.
Salida:
Generación de certificados de nodo
El proceso de generación de certificados de nodo es similar al de los certificados admin. Pero puedes especificar el valor CN con el nombre de host o la dirección IP de tu nodo.
Genera la clave privada del nodo utilizando el siguiente comando.
openssl genrsa -out node1-key-temp.pem 2048
Convierte la clave privada del nodo al formato PKCS#8. Tu clave privada de nodo debería ser ahora‘clave-nodo1.pem‘.
openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem
A continuación, crea una nueva CSR para el certificado del nodo. Asegúrate de cambiar el valor‘CN‘ por el nombre de host de tu nodo. Este certificado está vinculado a hosts, y debes especificar el valor CN con el nombre de host o la dirección IP de tu nodo OpenSearch.
openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node1.hwdomain.lan" -out node1.csr
Antes de firmar el certificado del nodo, ejecuta el siguiente comando para crear un archivo de extensión SAN‘nodo1.ext‘. Éste contendrá el nombre de host o FQDN del nodo o la dirección IP
echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext
Por último, firma el archivo CSR del certificado del nodo con el certificado de la CA raíz y el privado utilizando el siguiente comando.
openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext
Con esto, tu certificado de nodo es un archivo ‘nodo1.pem‘ y la clave privada es‘nodo1-key.pem‘.
Salida:
Configurar certificados
Ejecuta el siguiente comando para eliminar el certificado temporal, el CSR y el archivo de extensión SAN.
rm *temp.pem *csr *ext ls
Convierte el certificado de la CA raíz al formato .crt.
openssl x509 -outform der -in root-ca.pem -out root-ca.crt
Añade el certificado de la CA raíz a tu sistema Debian utilizando el siguiente comando. Copia el archivo root-ca.crt en el directorio ‘/usr/local/share/ca-certificates/‘ y carga el nuevo certificado CA raíz en tu sistema.
sudo cp root-ca.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
La salida«1 añadido» confirma que los nuevos certificados CA raíz se han añadido a tu sistema.
Por último, ejecuta el siguiente comando para configurar el permiso y la propiedad adecuados de tus certificados. La propiedad del directorio ‘/opt/opensearch/config/certs‘ debe ser del usuario‘opensearch‘ con permiso 0700. Y para todos los archivos de certificados, el permiso debe ser 0600.
sudo chown -R opensearch /opt/opensearch/config/certs sudo chmod 0700 /opt/opensearch/config/certs
sudo chmod 0600 /opt/opensearch/config/certs/*.pem sudo chmod 0600 /opt/opensearch/config/certs/*.crt
Añadir certificados TLS a OpenSearch
Con los certificados TLS generados, están la CA raíz, los certificados de administrador y los certificados de nodo. A continuación, añadirás los certificados al archivo de configuración de OpenSearch ‘/opt/opensearch/config/opensearch.yml’. En este ejemplo, crearás un nuevo script bash que añadirá los certificados y la configuración del plugin de seguridad TLS a OpenSearch.
Crea un nuevo archivo‘add.sh‘ utilizando el siguiente comando del editor nano.
nano add.sh
Añade las siguientes líneas al archivo. Asegúrate de cambiar y utilizar la ruta correcta de tus archivos de certificado y del archivo de configuración de OpenSearch de destino.
#! /bin/bash # Before running this script, make sure to replace the /path/to your OpenSearch directory, # and remember to replace the CN in the node's distinguished name with a real # DNS A record. echo "plugins.security.ssl.transport.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.transport.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.http.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.http.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.ssl.http.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.authcz.admin_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.nodes_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml echo " - 'CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /opt/opensearch/config/opensearch.yml echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /opt/opensearch/config/opensearch.yml
Guarda el archivo y sal de él cuando hayas terminado.
A continuación, haz ejecutable el archivo‘add.sh‘ y ejecútalo. El nuevo plugin de seguridad TLS para OpenSearch debería añadirse al archivo de configuración de OpenSearch‘/opt/opensearch/config/opensearch.yml’.
chmod +x add.sh ./add.sh
Resultado:
Si compruebas el archivo de configuración de OpenSearch ‘ /opt/opensearch/config/opensearch.yml’, deberías ver los nuevos ajustes así al final del archivo de configuración.
Llegados a este punto, ya has añadido certificados TLS a OpenSearch y activado los plugins de seguridad. En el siguiente paso, asegurarás OpenSearch con autenticación y autorización creando un nuevo usuario en OpenSearch.
Crear un usuario en OpenSearch
Antes de empezar, ejecuta el siguiente comando para configurar la variable de entorno‘OPENSEARCH_JAVA_HOME‘ y hacer ejecutables las herramientas de seguridad de OpenSearch.
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh
Mueve tu directorio de trabajo a‘/opt/opensearch/plugins/opensearch-security/tools‘ y ejecuta el script‘hash.sh‘ para generar una contraseña con hash para OpenSearch.
cd /opt/opensearch/plugins/opensearch-security/tools ./hash.sh
Introduce tu contraseña y copia la contraseña hash generada.
Salida:
Ahora vuelve a ejecutar el script ‘hash.sh’ para generar otra contraseña hash que se utilizará para los Tableros de OpenSearch. Introduce la nueva contraseña y copia la contraseña hash generada.
./hash.sh
Tras generar la contraseña hash, configurarás un usuario OpenSearch mediante el archivo de configuración ‘internal_users.yml‘.
Mueve tu directorio de trabajo a‘/opt/opensearch/config/opensearch-security/‘ y abre el archivo ‘ internal_users.yml ‘ utilizando el siguiente comando del editor nano.
cd /opt/opensearch/config/opensearch-security/ sudo nano internal_users.yml
Elimina la configuración de usuario por defecto y sustitúyela por las siguientes líneas. Asegúrate de cambiar la contraseña hash por tu contraseña generada. Con esto, crearás dos usuarios OpenSearch, el usuario‘admin‘ y el usuario‘kibanaserver‘ que serán utilizados por los Tableros OpenSearch.
... ... admin: hash: "$2y$12$ChrsBPaDAJsuel.HXFi2Ie2Jn1MpdzXA4Nd1jeyXf65N97RDJc3Ky" reserved: true backend_roles: - "admin" description: "Admin user"
kibanaserver:
hash: «$2y$12$wIeuRDp5txoJ3d6.lyybJOPwoRaizuuBvlKKzAGdAiu.I/qaX8hXu»
reserved: true
description: «Demo OpenSearch Dashboards user»
Guarda y sal del archivo‘internal_users.yml‘ cuando hayas terminado.
A continuación, ejecuta el siguiente comando para asegurar la propiedad del directorio de instalación de OpenSearch al usuario ‘opensearch‘. A continuación, inicia sesión como usuario «opensearch«.
sudo chown -R opensearch /opt/opensearch su - opensearch
Desplázate al directorio‘/opt/opensearch/bin‘ y ejecuta la instalación de OpenSearch. OpenSearch debería ejecutarse ahora en la dirección IP local‘192.168.5.50‘ con el puerto por defecto‘9200‘.
cd /opt/opensearch/bin ./opensearch
Deberías recibir una salida similar a ésta:
Ahora abre un nuevo terminal, conéctate a tu servidor OpenSearch e inicia sesión como usuario ‘opensearch’.
su - opensearch
Mueve el directorio de trabajo a‘/opt/opensearch/plugins/opensearch-security/tools‘ y ejecuta el script‘securityadmin.sh‘ como se indica a continuación. Asegúrate de cambiar la dirección IP del host OpenSearch y la ruta de los certificados admin.
Esto se conectará al servidor OpenSearch y aplicará los nuevos cambios en los usuarios de OpenSearch que hayas configurado en el archivo‘internal_users.yml‘.
cd /opt/opensearch/plugins/opensearch-security/tools OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk ./securityadmin.sh -h 192.168.5.50 -p 9200 -cd /opt/opensearch/config/opensearch-security/ -cacert /opt/opensearch/config/certs/root-ca.pem -cert /opt/opensearch/config/certs/admin.pem -key /opt/opensearch/config/certs/admin-key.pem -icl -nhnv
Salida:
Ahora vuelve al primer terminal y cierra el servidor OpenSearch pulsando la tecla ‘Ctrl+c‘. A continuación, vuelve a ejecutar el servidor OpenSearch.
./opensearch
En este punto, el servidor OpenSearch ya se está ejecutando con un nuevo usuario configurado.
Vuelve a la segunda sesión de terminal y ejecuta el siguiente comando para verificar tu servidor OpenSearch. Con esto, te autentificarás como usuario OpenSearch‘admin‘ y‘kibanaserver‘. Asegúrate también de cambiar la contraseña de cada usuario.
curl https://192.168.5.50:9200 -u admin:password -k curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
Cuando la autenticación se haya realizado correctamente, deberías ver el detalle de tu servidor OpenSearch.
Salida – autenticado como usuario ‘admin
Salida – autenticado como usuario‘kibanaserver‘.
Con esto, ya has configurado correctamente la autenticación y autorización en el servidor OpenSearch. Ahora vuelve a la primera sesión de terminal y pulsa Ctrl+c en el terminal para el proceso OpenSearch.
En el siguiente paso, configurarás un archivo de servicio systemd que se utilizará para ejecutar el servidor OpenSearch.
Ejecutar OpenSearch como servicio Systemd
En este tutorial, ejecutarás el servidor OpenSearch en el backgorund como un servicio systemd. Para conseguirlo, debes crear un nuevo archivo de servicio systemd, recargar el gestor systemd y, a continuación, ejecutar y activar OpenSearch mediante la utilidad de comandos systemctl.
Crea un nuevo archivo de servicio systemd‘/etc/systemd/system/opensearch.service ‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/systemd/system/opensearch.service
Añade las siguientes líneas al archivo.
[Unit] Description=OpenSearch Wants=network-online.target After=network-online.target [Service] Type=forking RuntimeDirectory=data WorkingDirectory=/opt/opensearch ExecStart=/opt/opensearch/bin/opensearch -d User=opensearch Group=opensearch StandardOutput=journal StandardError=inherit LimitNOFILE=65535 LimitNPROC=4096 LimitAS=infinity LimitFSIZE=infinity TimeoutStopSec=0 KillSignal=SIGTERM KillMode=process SendSIGKILL=no SuccessExitStatus=143 TimeoutStartSec=75 [Install] WantedBy=multi-user.target
Guarda y cierra el archivo cuando hayas terminado.
A continuación, ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar los cambios.
sudo systemctl daemon-reload
A continuación, inicia y activa el servicio OpenSearch mediante el siguiente comando systemctl. Con esto, el servicio OpenSearch debería ejecutarse en segundo plano como un servicio systemd y debería estar habilitado, lo que significa que OpenSearch se iniciará automáticamente al arrancar el sistema.
sudo systemctl start opensearch sudo systemctl enable opensearch
Salida:
Ahora verifica el servicio OpenSearch para asegurarte de que se está ejecutando. Deberías ver una salida que indica que el servicio OpenSearch se está ejecutando y que ahora está habilitado.
sudo systemctl status opensearch
Salida:
También puedes verificar el servidor OpenSearch mediante el comando curl para autenticarte contra el OpenSearch.
curl https://192.168.5.50:9200 -u admin:password -k curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
Si OpenSearch se está ejecutando, deberías autenticarte y obtener información detallada sobre tu instalación de OpenSearch.
Para el usuario admin de OpenSearch.
Para el usuario kibanaserver.
También puedes verificar la lista de puertos abiertos en tu sistema mediante el comando ss que aparece a continuación. Deberías ver que los puertos 9200 y 9300 están abiertos por la aplicación Java, que es el servidor OpenSearch.
ss -tulpn
Salida:
Con esto, has terminado la instalación de OpenSearch. Y ahora se está ejecutando en la dirección IP local 192.168.5.50 con el puerto por defecto 9200. Se ejecuta en segundo plano como un servicio systemd y se iniciará automáticamente al arrancar el sistema.
Instalación de los cuadros de mando de OpenSearch
En este paso, descargarás el paquete OpenSearch Dashboards y lo instalarás manualmente mediante un Tarball. También configurarás cómo debe ejecutarse el Tablero OpenSearch y cómo conectarse al servidor OpenSearch mediante nombre de usuario y contraseña.
Descarga el paquete OpenSearch Dashboards mediante el siguiente comando wget.
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz
Una vez finalizada la descarga, extrae el paquete OpenSearch Dashboards mediante el siguiente comando tar. Deberías obtener un nuevo directorio‘opensearch-dashboards-2.4.1’.
tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz
Mueve el directorio OpenSearch Dashboard a ‘/opt/opensearch-dashboards‘. A continuación, cambia la propiedad de ese directorio al usuario «opensearch».
mv opensearch-dashboards-* /opt/opensearch-dashboards sudo chown -R opensearch /opt/opensearch-dashboards
A continuación, mueve tu directorio de trabajo a«/opt/opensearch-dashboards» y abre el archivo de configuración de OpenSearch Dashboards«config/opensearch_dashboards.yml» utilizando el siguiente comando del editor nano.
cd /opt/opensearch-dashboards sudo nano config/opensearch_dashboards.yml
Descomenta las siguientes líneas y sustituye el valor de cada parámetro por tu configuración. En este ejemplo, ejecutarás OpenSearch Dashboards en el puerto predeterminado«5601» y la dirección IP del servidor«192.168.5.50«.
# OpenSearch Dashboards is served by a back end server. This setting specifies the port to use. server.port: 5601
# Specifies the address to which the OpenSearch Dashboards server will bind. IP addresses and host names are both valid values.
# The default is ‘localhost’, which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: «192.168.5.50»
A continuación, añade las siguientes líneas al final de la línea. Asegúrate de cambiar los parámetros de ‘opensearch.hosts‘,‘opensearch.username‘ y‘opensearch.password‘ con los datos de tu servidor OpenSearch.
opensearch.hosts: [https://192.168.5.50:9200] opensearch.ssl.verificationMode: none opensearch.username: kibanaserver opensearch.password: kibanapass
Guarda y sal del archivo‘config/opensearch_dashboards.yml‘ cuando hayas terminado.
Ahora ya has descargado OpenSearch Dashboard y lo has configurado para conectarte al servidor OpenSearch. A continuación, configurarás un archivo de servicio systemd que se utilizará para ejecutar los Tableros OpenSearch.
Ejecutar los Paneles OpenSearch como servicio Systemd
En este paso, crearás un nuevo servicio systemd que se utilizará para ejecutar los Paneles de OpenSearch.
Crea un nuevo archivo de servicio systemd ‘/etc/systemd/system/opensearch-dashboards.service ‘ utilizando el siguiente comando del editor nano.
sudo nano /etc/systemd/system/opensearch-dashboards.service
Añade las siguientes líneas al archivo.
[Unit] Description=OpenSearch-Dashboards Wants=network-online.target After=network-online.target opensearch.service [Service] Type=simple User=opensearch Environment=NODE_ENV=production Environment=CONFIG_PATH=/opt/opensearch-dashboards/config/opensearch_dashboards.yml WorkingDirectory=/opt/opensearch-dashboards ExecStart=/opt/opensearch-dashboards/bin/opensearch-dashboards StandardOutput=journal StandardError=inherit Restart=on-failure [Install] WantedBy=multi-user.target
Guarda el archivo y sal de él cuando hayas terminado.
A continuación, ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar los nuevos cambios.
sudo systemctl daemon-reload
A continuación, inicia y activa el servicio OpenSearch Dashboards mediante el siguiente comando systemctl. Con esto, el servicio OpenSearch Dashboards debería estar ejecutándose y habilitado, lo que significa que el servicio OpenSearch Dashboards se iniciará automáticamente al arrancar el sistema.
sudo systemctl start opensearch-dashboards sudo systemctl enable opensearch-dashboards
Verifica el servicio OpenSearch Dashboards utilizando el siguiente comando.
sudo systemctl status opensearch-dashboards
La salida ‘activo (en ejecución)‘ confirma que el servicio OpenSearch Dashboards está en ejecución. Y la salida ‘...; activado;…‘ confirma que el servicio está activado.
Con esto, OpenSearch Dashboards ya se está ejecutando en tu servidor Debian con el archivo de configuración por defecto ‘/opt/opensearch-dashboards/config/opensearch_dashboards.yml‘. Se está ejecutando en el puerto por defecto 5601 con la dirección IP del servidor 192.168.5.50
Acceder a los paneles de OpenSearch
Abre tu navegador web y visita la dirección IP de los Tableros OpenSearch con el puerto 5601 (es decir: http:192.168.5.50:5601). Ahora verás la página de inicio de sesión de OpenSearch Dashboards.
Introduce el nombre de usuario y la contraseña que has creado. En este ejemplo, el usuario es‘kibanaserver‘. A continuación, haz clic en el botón«Iniciar sesión» para confirmar e iniciar sesión en OpenSearch Dashboards.
Si lo consigues, aparecerá la siguiente página con el mensaje «Bienvenido a OpenSearch Dashboards». Ahora puedes hacer clic en «Añadir datos» para añadir nuevos datos a tu servidor OpenSearch o hacer clic en «Explorar los míos» para una configuración posterior.
A continuación, para asegurarte de que los Cuadros de mando OpenSearch están conectados al servidor OpenSearch, sigue los siguientes pasos:
Haz clic en el menú de la izquierda, desplázate a la sección Gestión y haz clic en‘Herramientas de desarrollo‘.
Ahora introduce la consulta‘GET /‘ en la consola y pulsa el botón de reproducción. Cuando lo consigas, deberías ver la salida en la parte derecha con información detallada sobre tu servidor OpenSearch. Además, podrás ver en la parte superior derecha el código HTTP‘200 – OK‘ que confirma que la consulta se ha ejecutado sin errores.
Con esto, ya has terminado la instalación de OpenSearch Dashboards en el servidor Debian mediante Tarball. Y también has configurado OpenSearch Dashboard para que se conecte al servidor OpenSearch.
Conclusión
En este tutorial, has instalado OpenSearch mediante Tarball en el servidor Debian 11. También has asegurado OpenSearch con certificados TLS, has activado la autenticación y la autorización, y has configurado los usuarios en OpenSearch. Además, has configurado OpenSearch para que se ejecute como un servicio systemd y has optimizado un servidor Debian Linux para desplegar OpenSearch.
También has instalado los paneles de OpenSearch mediante Tarball en el servidor Debian. Has configurado OpenSearch Dashboards para que se ejecute como un servicio systemd, has conectado OpenSearch Dashboards a OpenSearch Server con la autenticación activada y has verificado con éxito la instalación de OpenSearch y OpenSearch Dashboards.
Con esta configuración, ahora puedes explorar más sobre OpenSearch desplegando OpenSearch Cluster, configurando autenticación adicional y muchas cosas más. Puedes obtener más información sobre OpenSearch en la documentación oficial de OpenSearch.