Script: Erstellt Port-Forwarding zu Prometheus
Hallo in die Runde,
mein Script
funktioniert leider nicht.
Wenn ich im Terminal per
erhalte ich
dann gehe ich in den Browser und gebe dort
ein und erhalte die Seite.
Leider ist im Script ein Fehler, der immer die Fehlerseite ausgibt.
Freue mich über Hilfe
mein Script
#!/bin/bash
# connect_prometheus.sh
# Funktion: Verbindet Port-Forward zu Prometheus und öffnet localhost:9090.
# Zeigt Warnseite, wenn kein Zugriff möglich ist (z. B. fehlende SSH-Verbindung).
PORT=9090
NAMESPACE="prometheus"
SERVICE="prometheus"
URL="http://localhost:$PORT"
HTML_FEHLERDATEI="/tmp/prometheus_ssh_hinweis.html"
MAX_RETRIES=20 # insgesamt 10 Sekunden (0.5s Schritte)
echo "Starte Port-Forwarding für $SERVICE im Namespace $NAMESPACE..."
# Starte Port-Forwarding im Hintergrund
kubectl -n "$NAMESPACE" port-forward service/"$SERVICE" $PORT:$PORT >/dev/null 2>&1 &
PID=$!
# Warten und prüfen, ob Prometheus erreichbar wird
echo "Warte auf Verbindung zu $URL ..."
for i in $(seq 1 $MAX_RETRIES); do
if curl -s --head "$URL" | grep -q "200 OK"; then
echo "✅ Prometheus ist erreichbar unter $URL"
xdg-open "$URL" >/dev/null 2>&1 &
# Port-Forwarding nach 60 Sekunden automatisch beenden
(
sleep 60
if ps -p $PID > /dev/null; then
kill $PID
echo "⏹ Port-Forwarding nach 60 Sekunden beendet."
fi
) &
exit 0
fi
sleep 0.5
done
# Wenn hier angekommen: Verbindung fehlgeschlagen
echo "❌ Verbindung zu Prometheus fehlgeschlagen."
echo "👉 Vermutlich fehlt eine SSH-Verbindung zum Kubernetes-Cluster."
# HTML-Seite zur Warnung erzeugen
cat > "$HTML_FEHLERDATEI" <<EOF
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>SSH-Verbindung erforderlich</title>
</head>
<body style="font-family: sans-serif; text-align: center; margin-top: 50px;">
<h1 style="color: red;">⚠ Verbindung zum Prometheus fehlgeschlagen ⚠</h1>
<p>Bitte stelle eine SSH-Verbindung zum Kubernetes-Cluster her.</p>
<p style="font-weight: bold;">Befehl:</p>
<pre style="font-size: 1.2em; background: #f0f0f0; display: inline-block; padding: 10px; border-radius: 8px;">
ssh kubernetescluster -N
</pre>
</body>
</html>
EOF
xdg-open "$HTML_FEHLERDATEI" >/dev/null 2>&1 &
# Hintergrundprozess beenden, falls gestartet
if ps -p $PID > /dev/null; then
kill $PID
fi
exit 1
funktioniert leider nicht.
Wenn ich im Terminal per
kubectl -n prometheus port-forward service/prometheus 9090:9090
kubectl -n prometheus port-forward service/prometheus 9090:9090
Forwarding from 127.0.0.1:9090 -> 9090
Forwarding from [::1]:9090 -> 9090
dann gehe ich in den Browser und gebe dort
http://localhost:9090
Leider ist im Script ein Fehler, der immer die Fehlerseite ausgibt.
Freue mich über Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 672747
Url: https://administrator.de/forum/script-erstellt-port-forwarding-zu-prometheus-672747.html
Ausgedruckt am: 05.05.2025 um 21:05 Uhr