NEU! UPGRADE IP 10 verfügbar!
Timberwolf VISU jetzt mit Graphic V Upgrade
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Problem] Prometheus - Too many redirects

Informationen über Docker, Verwaltung mit portainer und VMs
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1157
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 753 Mal
Danksagung erhalten: 947 Mal

Prometheus - Too many redirects

#1

Beitrag von starwarsfan »

Hallo miteinander,

für ein vernünftiges Monitoring meiner Infrastruktur möchte ich auf dem TW Prometheus als Docker-Container basierend auf dem offiziellen Image laufen lassen. Dazu habe ich in Portainer einen entsprechenden Container konfiguriert, Port 9090:9090 gemappt und unter Command zusätzlich die Option --web.external-url=https://timberwolf159/proxy/prometheus/ mitgegeben. Im Reverse-Proxy gibt es ebenfalls den entsprechenden Eintrag, welcher auf http://127.0.0.1:9090/ zeigt. Rufe ich nun im Browser die URL https://timberwolf159/proxy/prometheus/ auf, erhalte ich den Fehler ERR_TOO_MANY_REDIRECTS.

Irgendwelche Ideen, woran ich nun schrauben muss, damit das funktioniert?
Zuletzt geändert von starwarsfan am Mi Jul 31, 2019 3:07 pm, insgesamt 1-mal geändert.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

ms20de
Elaborated Networks
Reactions:
Beiträge: 985
Registriert: Sa Aug 11, 2018 9:14 pm
Hat sich bedankt: 281 Mal
Danksagung erhalten: 499 Mal

#2

Beitrag von ms20de »

So falsch sieht es für mich nicht aus.
Ein paar Ideen:
Hier ist kein = Zeichen zwischen web.external-url und der URL
https://www.robustperception.io/using-e ... prometheus

Sind die -- sicher Minus-Zeichen und sicher keine anderen Zeichen?

Viele Grüße,
Matthias
Zuletzt geändert von ms20de am Mi Jul 31, 2019 4:00 pm, insgesamt 2-mal geändert.
[ Timberwolf Entwicklung ]

TWS 2400 ID:102 VPN offen, Reboot auf Nachfrage
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1157
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 753 Mal
Danksagung erhalten: 947 Mal

#3

Beitrag von starwarsfan »

Hallo Matthias
ms20de hat geschrieben: Mi Jul 31, 2019 3:59 pm Hier ist kein = Zeichen zwischen web.external-url und der URL
https://www.robustperception.io/using-e ... prometheus

Sind die -- sicher Minus-Zeichen und sicher keine anderen Zeichen?
Von dieser Page habe ich das mit dem Parameter zur externen URL und die Bindestriche sind korrekt. Das "=" habe ich verwendet, weil es im Container bereits diverse Parameter dieser Art gibt und das bei allen so gemacht wird. Der Inhalt der Command-Zeile sieht so aus:

'--config.file=/etc/prometheus/prometheus.yml' '--storage.tsdb.path=/prometheus' '--web.console.libraries=/usr/share/prometheus/console_libraries' '--web.console.templates=/usr/share/prometheus/consoles' '--web.external-url=https://timberwolf159/proxy/prometheus/'
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

ms20de
Elaborated Networks
Reactions:
Beiträge: 985
Registriert: Sa Aug 11, 2018 9:14 pm
Hat sich bedankt: 281 Mal
Danksagung erhalten: 499 Mal

#4

Beitrag von ms20de »

Das mit dem einfachen Anführungszeichen vor jedem Argument sieht mir gerade etwas merkwürdig aus.
Kannst du in der Portainer Console mit ps ax prüfen ob das Programm wirklich in den Argumenten läuft?

Viele Grüße,
Matthias
Zuletzt geändert von ms20de am Mi Jul 31, 2019 5:53 pm, insgesamt 1-mal geändert.
[ Timberwolf Entwicklung ]

TWS 2400 ID:102 VPN offen, Reboot auf Nachfrage

Dante
Reactions:
Beiträge: 157
Registriert: So Aug 12, 2018 10:42 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 78 Mal

#5

Beitrag von Dante »

starwarsfan hat geschrieben: Mi Jul 31, 2019 2:39 pm die Option --web.external-url=https://timberwolf159/proxy/prometheus/ mitgegeben. Im Reverse-Proxy gibt es ebenfalls den entsprechenden Eintrag, welcher auf http://127.0.0.1:9090/ zeigt.
Gem. der von Matthias verlinkten Anleitung, würde ich versuchen, den Reverse-Proxy mal umzustellen und dabei das Ziel um den Pfad erweitern, also auf http://127.0.0.1:9090/prometheus/ verweisen.

starwarsfan hat geschrieben: Mi Jul 31, 2019 2:39 pm Rufe ich nun im Browser die URL https://timberwolf159/proxy/prometheus/ auf, erhalte ich den Fehler ERR_TOO_MANY_REDIRECTS.
Hier könntest du noch untersuchen, wohin denn versucht wird weiterzuleiten. Sollte mit den integrierten Developer-Tools der Browser (F12) möglich sein oder alternativ per Kommandozeile mit Tools wie curl oder wget (curl mit -v aufrufen).

Schlimmstenfalls könnte es sein, dass Prometheus das /prometheus/ direkt hinter dem Host voraussetzt. Dann klappt die Lösung über den Reverse Proxy nicht und du musst den Port mitgeben oder es per MacVLAN lösen.
Viele Grüße,
Thomas

timberwolf146 / Timberwolf Server 2500 Indian Gold + PBM / Version 1.6.0 IP3 (Wartungs-VPN offen / Reboot jederzeit möglich)
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1157
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 753 Mal
Danksagung erhalten: 947 Mal

#6

Beitrag von starwarsfan »

Hi Thomas,

ob ich den Reverse-Proxy mit oder ohne Pfad konfiguriere, macht keinen Unterschied. Rufe ich die Seite mit cURL auf, bekomme ich das hier als Antwort:

Code: Alles auswählen

 » curl --insecure https://timberwolf159/proxy/prometheus/
<a href="/proxy/prometheus">Found</a>.
Oder auch etwas umfangreicher:

Code: Alles auswählen

curl -sILk https://timberwolf159/proxy/prometheus/
HTTP/2 405
server: nginx
date: Fri, 02 Aug 2019 21:42:56 GMT
content-type: text/plain; charset=utf-8
content-length: 19
allow: GET, OPTIONS
x-content-type-options: nosniff
strict-transport-security: max-age=15768000
Chrome sagt aber weiterhin ERR_TOO_MANY_REDIRECTS

Further ideas?
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Dante
Reactions:
Beiträge: 157
Registriert: So Aug 12, 2018 10:42 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 78 Mal

#7

Beitrag von Dante »

Hi Yves,

hast du nach dem Umstellen des Reverse-Proxy den Cache geleert bzw. es mit einem Fenster im privaten / Inkognito Modus versucht? Hatte das teilweise schon, dass sich Redirects hartnäckig im Cache festgesetzt hatten. Alternativ einfach ein Fragezeichen an die URL, ggf. mit beliebigen Buchstaben, anhängen.

curl bitte mal wie beschrieben mit -v aufrufen, genauer mit -vk wg. den Zertifikaten. Evtl. danach nochmal mit einem -vkL versuchen.

Dein -sILk bringt nichts, denn das -I macht eine HEAD-, statt einer GET-Anfrage und die wird hier nicht unterstützt (HTTP-Fehler 405 => Method not allowed).
Viele Grüße,
Thomas

timberwolf146 / Timberwolf Server 2500 Indian Gold + PBM / Version 1.6.0 IP3 (Wartungs-VPN offen / Reboot jederzeit möglich)
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1157
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 753 Mal
Danksagung erhalten: 947 Mal

#8

Beitrag von starwarsfan »

Hallo Thomas
Dante hat geschrieben: Sa Aug 03, 2019 8:33 am hast du nach dem Umstellen des Reverse-Proxy den Cache geleert bzw. es mit einem Fenster im privaten / Inkognito Modus versucht?
Ja, habe ich gemacht. Bleibt nach löschen des Cache oder auch im Inkognito-Modus das gleiche Verhalten.

Dante hat geschrieben: Sa Aug 03, 2019 8:33 am curl bitte mal wie beschrieben mit -v aufrufen, genauer mit -vk wg. den Zertifikaten. Evtl. danach nochmal mit einem -vkL versuchen.

Dein -sILk bringt nichts, denn das -I macht eine HEAD-, statt einer GET-Anfrage und die wird hier nicht unterstützt (HTTP-Fehler 405 => Method not allowed).
Ah, alles klar. Der Output der beiden Cmds ist im Anhang. Ich bin jetzt nicht so der Netzwerk-Crack und hoffe, Du kannst Dir daraus etwas nehmen. Er macht offenbar 50 Redirects aber ich sehe nicht so recht, wo und warum...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -

Dante
Reactions:
Beiträge: 157
Registriert: So Aug 12, 2018 10:42 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 78 Mal

#9

Beitrag von Dante »

Also hier wird die Adresse
https://timberwolf159/proxy/prometheus/
per HTTP 302 [Found (Moved Temporarily)] weitergeleitet zu
https://timberwolf159/proxy/prometheus
und diese URL leitet per HTTP 301 [Moved Permanently] weiter zu
https://timberwolf159/proxy/prometheus/
womit wir wieder oben sind und die Schleife beginnt.

Es leitet also mit trailing Slash weiter zu ohne trailing Slash und der wieder zurück.

Das wird dem Browser irgendwann zu blöd und er bricht ab.

------------------------------------------------------------

Jetzt mal weitergeschaut und folgendes gefunden:
https://www.robustperception.io/externa ... h-prefixes
hier kommt zusätzlich der Parameter web.route-prefix zum Einsatz, der die Lösung sein dürfte


demnach würde ich sagen, dass du wie folgt konfigurierst:
Viele Grüße,
Thomas

timberwolf146 / Timberwolf Server 2500 Indian Gold + PBM / Version 1.6.0 IP3 (Wartungs-VPN offen / Reboot jederzeit möglich)
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1157
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 753 Mal
Danksagung erhalten: 947 Mal

#10

Beitrag von starwarsfan »

Hallo Thomas
Dante hat geschrieben: Mo Aug 05, 2019 9:44 pm Also hier wird die Adresse
https://timberwolf159/proxy/prometheus/
per HTTP 302 [Found (Moved Temporarily)] weitergeleitet zu
https://timberwolf159/proxy/prometheus
und diese URL leitet per HTTP 301 [Moved Permanently] weiter zu
https://timberwolf159/proxy/prometheus/
womit wir wieder oben sind und die Schleife beginnt.
Ahh!
Dante hat geschrieben: Mo Aug 05, 2019 9:44 pm Es leitet also mit trailing Slash weiter zu ohne trailing Slash und der wieder zurück.
Das wird dem Browser irgendwann zu blöd und er bricht ab.
Klar.

Dante hat geschrieben: Mo Aug 05, 2019 9:44 pm Jetzt mal weitergeschaut und folgendes gefunden:
https://www.robustperception.io/externa ... h-prefixes
hier kommt zusätzlich der Parameter web.route-prefix zum Einsatz, der die Lösung sein dürfte
Bingo! :text-goodpost:

Dante hat geschrieben: Mo Aug 05, 2019 9:44 pm demnach würde ich sagen, dass du wie folgt konfigurierst:
Funktioniert wie ein Traum. Sensationell, vielen Dank! :happy-wavemulticolor:

Das ist sicher einen Eintrag in der KB wert...
Kind regards,
Yves

- TWS 2500 ID:159 (VPN offen, Reboot nach Rücksprache) - PBM ID:401 - TWS 3500 ID:618 (VPN offen, Reboot nach Rücksprache) - ControlPro - ProxMox - Edomi (LXC / Docker) - ... -
Antworten

Zurück zu „Docker, portainer, VM“