es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conéctese a través de un túnel SSH en Logstash – Elastic Cloud.

Intento conectarme a mi servidor de MySQL con logstash en nuestro clúster de elastic cloud, el problema es que usamos un túnel SSH en el servidor SQL. ¿Existe alguna manera de conectarse a un servidor MySQL utilizando un túnel SSH a través de la interfaz de creación de canalizaciones de logstash en elastic cloud?

La interfaz es la siguiente, no hay tantos parámetros…

Imagen

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, la interfaz de creación de la canalización de Logstash en Elastic Cloud no proporciona una opción directa para establecer un túnel SSH para conectarse a un servidor MySQL. Sin embargo, existen algunos métodos alternativos que se pueden intentar para conectarse a un servidor MySQL detrás de un túnel SSH.

    Una opción es utilizar un cliente SSH como PuTTY o OpenSSH para establecer el túnel manualmente y luego configurar el plugin logstash-jdbc para que utilice el puerto del túnel. Esto se puede lograr agregando la configuración del túnel en la sección de entrada logstash-jdbc del archivo de configuración de la canalización, como se muestra a continuación:

    input{
    jdbc {
    jdbc_connection_string => "jdbc:mysql://127.0.0.1:3307/TU_BASE_DE_DATOS?useSSL=false"
    jdbc_user => ""
    jdbc_password => ""
    jdbc_driver_library => "mysql-connector-java-5.1.47.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    schedule => "* * * * *"
    statement => "SELECT * FROM TU_TABLA"
    jdbc_fetch_size => "500"
    jdbc_paging_enabled => "true"
    jdbc_page_size => "5000"
    jdbc_validate_connection => true
    #######Agregar la configuración del túnel a continuación#########
    #jdbc_connection_string => "jdbc:mysql://<nombre_del_servidor>:3306/<nombre_de_la_base_de_datos>"
    #jdbc_tunnel => "org.apache.commons.dbcp.BasicDataSource"
    #jdbc_tunnel_host => "<nombre_del_host_remoto>"
    #jdbc_tunnel_port => "<puerto_remoto>"
    #jdbc_tunnel_user => "<nombre_de_usuario_ssh>"
    #jdbc_tunnel_password => "<contraseña_ssh>"
    }
    }

    Ten en cuenta que las configuraciones del túnel deben estar sin comentar y modificadas con los valores correctos. Este método requiere acceso SSH al servidor desde donde se ejecuta Logstash.

    Otra opción es utilizar un complemento de terceros como logstash-input-jdbc-ssh para conectarse a MySQL. Este complemento está diseñado específicamente para gestionar el túnel SSH y proporciona opciones para configurar el host SSH, el puerto, el usuario y la clave privada, así como las credenciales de la base de datos MySQL.

    En resumen, aunque la interfaz de creación de la canalización de Logstash en Elastic Cloud no proporciona una opción directa para conectarse a un servidor MySQL utilizando un túnel SSH, se pueden intentar métodos alternativos como establecer el túnel manualmente o utilizar un complemento de terceros.</contraseña_ssh>

Comments are closed.