Kunden hinter sicheren Netzwerken können 'kibana plugin --install' nicht verwenden, um Kibana-Plugins zu installieren. Sie benötigen die Möglichkeit, einen http- oder https-Proxy zu konfigurieren, der für die Aufrufe der Plugin-Repositories verwendet werden soll.
@seang-es könnten wir eine Lösung implementieren, die HTTP Connect-Tunneling verwendet?
Nach einer Diskussion mit @seang-es scheint es, dass Benutzer hinter sicheren Netzwerken ihre eigenen HTTP-Proxy-Server haben und einfach gerne die Möglichkeit hätten, Kibana über diese Proxys zu leiten.
Die Benutzer möchten eine Option in der kibana.yml ändern, um host
und port
auf den Proxy-Server festzulegen.
Ich brauche auch die Proxy-Einstellung zu authentifizieren.
Ich freue mich auf Ihre Umsetzung.
Ja, Sie wollen hier kein CONNECT, nur einfache alte HTTP-Proxys
@seang-es Wie funktioniert das mit anderen Plugin-Installern wie bin/plugin
in Elasticsearch? Ich sehe keine CLI-Optionen für ihre Installer, um einen authentifizierten Proxy einzurichten? Auch nachdem Sie darüber nachgedacht haben, sollte dies nicht auf Betriebssystemebene erledigt werden?
Nach einer Diskussion mit @spalger und @rashidkpc möchten wir CONNECT hier nicht verwenden, weil viele Unternehmen es nicht unterstützen. Hier also die vorgeschlagenen Optionen:
installedPlugins
neu, um das Modul des Knotens request
anstelle von wreck.js
zu verwenden, da das Wrack kein Proxying unterstützt.wreck.js
erweitert.Wenn dies eine dringend benötigte Funktion ist, fühle ich mich mit der Implementierung von Option 2 am wohlsten.
Nach weiteren Diskussionen haben wir uns entschieden, kein http/https-Proxy für Plugin-Installationen in Kibana hinzuzufügen. Der Hauptgrund dafür ist, dass Elasticsearch es auch nicht unterstützt und es eine Problemumgehung gibt, um Offline-Installationen mit dem Dateiinstallationsprogramm durchzuführen.
Beispielsweise:
bin/kibana plugin --install --url file:///home/username/plugin.tar.gz
_Hinweis_: Sie müssen absolute Pfade verwenden
Daher entferne ich das Label P1
und schließe dieses Problem.
Ich habe Issue #5998 eingereicht, um die Kibana-Plugin-Dokumentation zu aktualisieren, um Dateiinstallationen aus einem lokalen Verzeichnis einzuschließen.
Einer der oben genannten Gründe, dies nicht direkt zu unterstützen, ist ungültig, da der Plugin-Befehl von elasticsearch _does_ die Angabe von Proxys unterstützt, wenn auch über die entsprechenden Java-Systemeigenschaften, wie dokumentiert unter:
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 Funktioniert das Herunterladen der Datei und das anschließende manuelle Installieren für Sie?
Dieser sogenannte Workaround scheint nicht zu funktionieren
$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>.
Außerdem verhindert die Nichtzulassung von Proxy- und/oder Offline-Plug-in-Installationen im Grunde, dass 90 % der Unternehmen diese Version verwenden...
Der richtige Weg für die Offline-Installation ist:
bin/kibana plugin -i marvel -u file:///tmp/marvel-latest.tar.gz
@stormpython Das Label PI
sollte entfernt werden, aber soll es nicht offen bleiben?
Dadurch werden Dockerfiles zerstört, die ansonsten hinter einem HTTP-Proxy korrekt funktionieren.
@stormpython - lächerliche Erklärung aus mehreren Gründen:
Guyz, diskutiert oder nicht, entschieden oder nicht, du solltest das nochmal überdenken. Nur eine Entscheidung ist die richtige (die kluge), und Sie haben sie verpasst.
Konsistenz zwischen den Projekten für die Installation ist wichtig, daher werden wir uns die Proxy-Unterstützung in Elasticsearch ansehen.
Mit puppet
und hinter einer Firmen-Firewall kann ich Plugins für elasticsearch
und logstash
(aber nicht kibana
) installieren
(1) Setzen einer Umgebungsvariablen in der exec
-Instanz
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],
;
}
oder von
(2) Übergabe von Proxy-Parametern an Java.
"${bin_plugin} -DproxyHost=1.2.3.4 -DproxyPort=3128 install -b --verbose $name"
Hier ist ein Versuch #7967, um Proxy-Unterstützung für die Plugin-Installation hinzuzufügen
Dies wurde mit #12753 behoben und wird mit 6.1 veröffentlicht. Der Plugin-Befehl versteht dann die Umgebungsvariablen http_proxy
, https_proxy
und no_proxy
.
Tolle Neuigkeiten @timroes !
Großes Dankeschön dafür!
Hilfreichster Kommentar
Einer der oben genannten Gründe, dies nicht direkt zu unterstützen, ist ungültig, da der Plugin-Befehl von elasticsearch _does_ die Angabe von Proxys unterstützt, wenn auch über die entsprechenden Java-Systemeigenschaften, wie dokumentiert unter:
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