2026-07-30 12:00:00 +00:00
|
|
|
# game
|
|
|
|
|
|
|
|
|
|
Pterodactyl- / Gameserver-Host.
|
|
|
|
|
|
|
|
|
|
| | |
|
|
|
|
|
|---|---|
|
|
|
|
|
| **IPv4** | `157.90.155.206` |
|
|
|
|
|
| **IPv6** | kein AAAA-Record |
|
|
|
|
|
| **DNS** | `game.axion1337.de` |
|
2026-08-01 12:00:00 +00:00
|
|
|
| **Privat** | **nicht** im vSwitch `10.0.0.0/24` (geprüft 2026-08-01) |
|
|
|
|
|
| **Stand** | 2026-08-01 |
|
2026-07-30 12:00:00 +00:00
|
|
|
|
|
|
|
|
> **Nicht inventarisiert.** Alle Angaben hier stammen aus Beobachtungen von CFGMON
|
|
|
|
|
> aus. Auf dem Host selbst wurde nichts geprüft. Beim ersten direkten Zugriff
|
|
|
|
|
> sollten OS, Dienste und Compose-Projekte hier nachgetragen werden.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## GAME-01 — Host von CFGMON aus nicht erreichbar, 2 Prometheus-Targets down
|
|
|
|
|
|
|
|
|
|
**Status:** offen — Ursache liegt auf diesem Host oder in dessen Firewall
|
|
|
|
|
|
|
|
|
|
Zwei Scrape-Targets sind down. Das bestand **schon vor** dem Monitoring-Rework vom
|
|
|
|
|
2026-07-30, ist also kein Regressionsschaden aus der Umstellung.
|
|
|
|
|
|
|
|
|
|
| Job | Target | Fehler |
|
|
|
|
|
|---|---|---|
|
|
|
|
|
| `gameserver_cadvisor` | `157.90.155.206:8080` | `context deadline exceeded` |
|
|
|
|
|
| `pterodactyl_host_node` | `157.90.155.206:9100` | `context deadline exceeded` |
|
|
|
|
|
|
|
|
|
|
Von CFGMON aus geprüft: der Host antwortet **nicht auf Ping** (100 % packet loss) und
|
|
|
|
|
auf keinem der beiden Ports. Das Problem ist also nicht die Prometheus-Konfiguration,
|
|
|
|
|
sondern die Erreichbarkeit. Mögliche Ursachen, von wahrscheinlich nach unwahrscheinlich:
|
|
|
|
|
|
|
|
|
|
1. Die Hetzner-Cloud-Firewall dieses Hosts lässt `188.245.193.243` nicht auf
|
|
|
|
|
8080/9100 — passend zum restriktiven Firewall-Setup der Umgebung.
|
|
|
|
|
2. cAdvisor und node-exporter laufen nicht (mehr) oder binden nur auf `127.0.0.1`.
|
|
|
|
|
3. Der Host ist abgeschaltet oder umgezogen und die IP ist veraltet. Dagegen spricht,
|
|
|
|
|
dass `game.axion1337.de` weiter auf sie zeigt.
|
|
|
|
|
|
2026-08-01 12:00:00 +00:00
|
|
|
### Nachtrag 2026-08-01 — Ursache eingegrenzt
|
|
|
|
|
|
|
|
|
|
Erneut von CFGMON aus geprüft. Die Befunde streichen die Liste oben zusammen:
|
|
|
|
|
|
|
|
|
|
| Prüfung | Ergebnis |
|
|
|
|
|
|---|---|
|
|
|
|
|
| Port 80 / 443 | **offen, antworten sofort** |
|
|
|
|
|
| Port 22 / 8080 / 9100 | keine Antwort, Timeout |
|
|
|
|
|
| ICMP | 100 % Verlust |
|
|
|
|
|
| `10.0.0.0/24`, Ports 9100+8080 | nur `10.0.0.2` (k3s) und `10.0.0.3` (CFGMON) — dieser Host ist **nicht** im vSwitch |
|
|
|
|
|
| `up == 1` in den letzten 45 Tagen | **nie** — beide Targets waren im gesamten Retention-Fenster nie erreichbar |
|
|
|
|
|
|
|
|
|
|
Damit ist **Ursache 3 ausgeschlossen**: der Host lebt und bedient 80/443. Und
|
|
|
|
|
**Ursache 1 ist die wahrscheinliche**: die Ports laufen ins *Timeout* statt
|
|
|
|
|
`connection refused` zu liefern. Ein nicht laufender oder auf `127.0.0.1` gebundener
|
|
|
|
|
Exporter würde die Verbindung aktiv ablehnen — stilles Verwerfen ist die Signatur
|
|
|
|
|
eines Paketfilters davor. Ursache 2 bleibt als Zusatzbedingung möglich: selbst bei
|
|
|
|
|
offener Firewall muss cAdvisor drüben seinen Port auch veröffentlichen (auf CFGMON
|
|
|
|
|
läuft er bewusst ohne `-p`, nur containerintern).
|
|
|
|
|
|
|
|
|
|
**Nächster Schritt:** in der Hetzner-Cloud-Firewall dieses Hosts inbound TCP 8080 und
|
|
|
|
|
9100 für `188.245.193.243/32` freigeben — oder besser den Weg unten gehen. Danach auf
|
|
|
|
|
dem Host prüfen, ob beide Exporter laufen und worauf sie binden.
|
2026-07-30 12:00:00 +00:00
|
|
|
|
|
|
|
|
**Empfehlung: nicht über die öffentliche IP.** CFGMON scrapt den k3s-Host bereits
|
|
|
|
|
über das private Netz (`10.0.0.2:9100`) und der ist up — das ist das Modell, das
|
|
|
|
|
hier funktioniert. Wenn dieser Host in denselben Hetzner-vSwitch aufgenommen wird
|
|
|
|
|
(CFGMON hat `10.0.0.3`), braucht es für das Monitoring **gar keine im Internet
|
|
|
|
|
offenen Ports**. Zwei Exporter öffentlich erreichbar zu machen wäre der schlechtere
|
|
|
|
|
Weg: node-exporter gibt detaillierte Host-Interna preis, cAdvisor die komplette
|
|
|
|
|
Container-Landschaft.
|
|
|
|
|
|
|
|
|
|
Danach in `threadnet-operating` die Targets in `monitoring/prometheus/prometheus.yml`
|
|
|
|
|
von der rohen IP auf die private Adresse bzw. den DNS-Namen umstellen — aktuell
|
|
|
|
|
stehen dort öffentliche IPs, obwohl mit `game.axion1337.de` ein Name existiert.
|
|
|
|
|
|
2026-08-01 12:00:00 +00:00
|
|
|
**Solange offen — Alerting stummgeschaltet.** Seit dem Alerting-Rollout (gitops#32,
|
|
|
|
|
2026-08-01) erzeugen beide Targets echte `TargetDown`-Alarme im Matrix-Alerts-Raum,
|
|
|
|
|
mit `repeat_interval: 4h` also alle vier Stunden erneut. Dafür sind auf CFGMON zwei
|
|
|
|
|
Alertmanager-Silences gesetzt:
|
|
|
|
|
|
|
|
|
|
| Silence-ID | Matcher |
|
|
|
|
|
|---|---|
|
|
|
|
|
| `abedb8a2-6969-41d0-aa94-20c1f575fe61` | `alertname="TargetDown" instance="pterodactyl"` |
|
|
|
|
|
| `0f64aa3c-67a0-45c5-a9d9-a30ce64e8113` | `alertname="TargetDown" instance="157.90.155.206:8080"` |
|
|
|
|
|
|
|
|
|
|
**Sie laufen am 2026-08-04 01:30 UTC ab.** Ist der Host bis dahin nicht gefixt, meldet
|
|
|
|
|
sich das Alerting von selbst zurück — bewusst so gewählt, damit der Punkt nicht still
|
|
|
|
|
liegen bleibt. Verlängern oder aufheben mit `docker compose exec alertmanager amtool
|
|
|
|
|
silence expire <id> --alertmanager.url=http://localhost:9093` aus
|
|
|
|
|
`/opt/threadnet-operating/monitoring`.
|
2026-07-30 12:00:00 +00:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## GAME-02 — `www.game.axion1337.de` ist überflüssig
|
|
|
|
|
|
|
|
|
|
**Status:** offen, geringe Priorität
|
|
|
|
|
|
|
|
|
|
Es existiert ein A-Record `www.game.axion1337.de` → `157.90.155.206`, angelegt nach
|
|
|
|
|
IONOS-Default-Muster. Bei einer Subdomain ist ein `www.`-Präfix überflüssig, siehe
|
|
|
|
|
die Begründung in [ZONE-01](../shared/zone-axion1337.md).
|
|
|
|
|
|
|
|
|
|
**Nicht verifiziert**, ob auf diesem Host etwas auf den Namen hört — von CFGMON aus
|
|
|
|
|
ist er nicht erreichbar. Bei `rohana` und `selendis` liefert das äquivalente
|
|
|
|
|
Konstrukt einen Zertifikatsfehler.
|
|
|
|
|
|
|
|
|
|
**Nächster Schritt:** prüfen, ob der Name irgendwo verlinkt oder konfiguriert ist,
|
|
|
|
|
sonst A-Record löschen.
|