Kibana: Permitir el proxy http/https para la instalación del complemento

Creado en 13 ene. 2016  ·  20Comentarios  ·  Fuente: elastic/kibana

Los clientes detrás de redes seguras no pueden usar 'kibana plugin --install' para instalar los complementos de Kibana. Necesitan la capacidad de configurar un proxy http o https para usar en las llamadas a los repositorios de complementos.

Operations enhancement

Comentario más útil

Una de las razones dadas anteriormente para no admitir esto directamente no es válida, porque el comando del complemento de elasticsearch _no_ admite la especificación de proxies, aunque a través de las propiedades del sistema Java correspondientes, como se documenta en:
https://www.elastic.co/guide/en/elasticsearch/reference/1.6/modules-plugins.html

bin/plugin -DproxyHost=host_name -DproxyPort=port_number --install mobz/elasticsearch-head

Todos 20 comentarios

@seang-es, ¿podríamos implementar una solución que use túneles HTTP Connect ?

Después de discutirlo con @seang-es, parecería que los usuarios detrás de redes seguras tienen sus propios servidores proxy http y simplemente les gustaría poder dirigir a Kibana a través de estos servidores proxy.

A los usuarios les gustaría modificar una opción en kibana.yml para establecer host y port en el servidor proxy.

También necesito autenticar la configuración del proxy.
Estoy deseando que se lleve a cabo su implementación.

Sí, no quieres CONECTAR aquí, solo proxies http antiguos.

@seang-es ¿Cómo funciona esto con otros instaladores de complementos como bin/plugin en Elasticsearch? No veo las opciones de CLI para que sus instaladores configuren un proxy autenticado. Además, después de pensar en esto, ¿no debería solucionarse esto a nivel del sistema operativo?

Después de una discusión con @spalger y @rashidkpc , la razón por la que no queremos usar CONNECT aquí es porque muchas empresas no lo admiten. Así que aquí están las opciones propuestas:

  1. Vea si nuestros usuarios realmente necesitan esto o si hay otras soluciones alternativas que les permitirían lograr lo mismo. @seang-es, ¿puede responder a los comentarios de @simianhacker para que tengamos una mejor comprensión de cómo el cliente soluciona esto para los complementos de Elasticsearch?
  2. Vuelva a escribir el módulo installedPlugins para usar el módulo del nodo request en lugar de wreck.js ya que Wreck no es compatible con el proxy.
  3. Escriba un complemento de proxy http que extienda wreck.js .

De los 3, si esta es una característica muy necesaria, me siento más cómodo implementando la opción 2.

Después de más debates, hemos decidido no agregar el proxy http/https para las instalaciones de complementos en Kibana. La razón principal de esto es que Elasticsearch tampoco lo admite, y existe una solución alternativa para realizar instalaciones sin conexión mediante el instalador de archivos.

Por ejemplo:

bin/kibana plugin --install --url file:///home/username/plugin.tar.gz

_Nota_: Debe usar rutas absolutas

Entonces, estoy eliminando la etiqueta P1 y cerrando este problema.

Envié el problema #5998 para actualizar la documentación del complemento de Kibana para incluir instalaciones de archivos desde un directorio local.

Una de las razones dadas anteriormente para no admitir esto directamente no es válida, porque el comando del complemento de elasticsearch _no_ admite la especificación de proxies, aunque a través de las propiedades del sistema Java correspondientes, como se documenta en:
https://www.elastic.co/guide/en/elasticsearch/reference/1.6/modules-plugins.html

bin/plugin -DproxyHost=host_name -DproxyPort=port_number --install mobz/elasticsearch-head

@avallen ¿Le funciona descargar el archivo y luego instalarlo manualmente?

Esta supuesta solución no parece funcionar

$bin/kibana plugin --install --url file:///opt/kibana-4.4.1-linux-x64/marvel-latest.tar.gz
Invalid install option. Please use the format <org>/<plugin>/<version>.

Además, no permitir la instalación de proxy y/o complementos fuera de línea mata básicamente al 90% de las organizaciones que usan esta versión...

La forma correcta de instalación sin conexión es:

bin/kibana plugin -i marvel -u file:///tmp/marvel-latest.tar.gz

@stormpython La etiqueta PI debería eliminarse, pero ¿no debería mantenerse abierta?

Esto rompe los Dockerfiles que, de lo contrario, funcionan correctamente detrás de un proxy HTTP.

@stormpython - explicación ridícula por varias razones:

  • Elasticsearch SÍ admite proxy saliente (lo sé porque es la única forma en que puedo instalar complementos);
  • Ningún administrador razonable permitirá el tráfico saliente sin restricciones desde su centro de datos (servidores), por lo que debe esperar que la instalación del complemento se realice a través de un proxy saliente. Básicamente, si Kibana no puede instalar complementos a través del proxy saliente, es casi imposible instalarlos.
  • La solución alternativa que ha sugerido complica significativamente la administración y la gestión de la configuración (es decir, Puppet, Chef). Y genera confusión: por ejemplo, no estoy seguro de si mis problemas para instalar el complemento sense (consulte el problema 7400 ) se deben a la instalación desde un archivo (su solución alternativa) o no.

Guyz, discutido o no, decidido o no, deberías reconsiderarlo de nuevo. Solo una decisión es la correcta (la inteligente), y te la has perdido.

La coherencia entre los proyectos para la instalación es importante, por lo que analizaremos la compatibilidad con proxy en Elasticsearch.

usando puppet y detrás de un firewall corporativo, puedo instalar complementos para elasticsearch y logstash (pero no kibana ) por

(1) establecer una variable de entorno en la instancia exec

exec {
    "$name":
        command     => $command,
        creates     => $creates,
        environment => [ "http_proxy=http://1.2.3.4:3128" ],
        logoutput   => $logoutput,
        onlyif      => $onlyif,
        path        => ["/bin", "/sbin", "/usr/bin", "/usr/sbin"],
        returns     => [0,74],
    ;
}

o por

(2) pasar parámetros de proxy a java.

"${bin_plugin} -DproxyHost=1.2.3.4 -DproxyPort=3128 install -b --verbose $name"

Aquí hay una prueba # 7967 para agregar soporte de proxy para la instalación del complemento

Esto se solucionó con el n.º 12753 y se lanzará con 6.1. El comando del complemento comprenderá las variables de entorno http_proxy , https_proxy y no_proxy .

¡Buenas noticias @timroes !
¡Muchas gracias por eso!

¿Fue útil esta página
0 / 5 - 0 calificaciones