Zum Inhalt springen

Fehlerbehebung

Jeder Abschnitt nennt ein Symptom, die üblichen Ursachen und was zu tun ist. Die verlinkten Seiten haben die Details. Hilft nichts davon, schreib an support@mitjamartini.com.

Token prüfen antwortet mit einer dieser Meldungen:

  • „Das Token wurde abgelehnt.“ Hetzner akzeptiert das Token nicht. Kopier es noch einmal vollständig aus der Hetzner Console (Security → API tokens), aus dem Projekt, das du hinzufügen willst.
  • „Die API war nicht erreichbar.“ Das iPhone hat keine Verbindung, oder ein eigener API-Endpunkt unter Erweitert ist falsch. Wähl Standard, wenn du nicht sicher einen anderen brauchst.
  • „Token funktioniert, hat aber SCHREIBRECHTE.“ Die App liest auch damit nur, aber erzeuge ein read-only Token und nimm stattdessen das.

Siehe Hetzner-Projekt verbinden.

„Das Token für … wurde abgelehnt — es wurde möglicherweise widerrufen.“ heißt, dass Hetzner das Token des Projekts abgelehnt hat, meist weil jemand es in der Hetzner Console entzogen oder rotiert hat. Die App zeigt den zuletzt geladenen Stand des Projekts. Erzeuge ein neues read-only Token, tipp auf In Einstellungen beheben, wisch das Projekt weg und füg es mit Hetzner-Projekt hinzufügen neu hinzu.

Der Tab Kosten ist eine Schätzung aus Hetzners aktuellen Listenpreisen, netto.

  • Umsatzsteuer und Rabatte erscheinen nur auf deiner Rechnung.
  • Ein älterer Preis. Ein Server, der vor einer Preisänderung angelegt wurde, behält seinen alten Preis, und die API sagt das nicht. Zwei Labels an der Ressource korrigieren das (Kosten pro Kunde mit Labels).
  • ca. markiert einen Preis, den die App nicht genau bestimmen konnte, etwa bei einem Load Balancer, dessen Typ das Inventar nicht meldet.

Siehe Kosten.

Widgets stellen keine Netzwerkanfragen. Sie zeigen, was die App bei der letzten Aktualisierung gespeichert hat. Öffne also die App, um sie zu aktualisieren. Bei Pro und Team aktualisiert auch die Push-Mitteilung einer Warnung oder eines kritischen Alarms das Widget. Siri antwortet aus denselben Daten, nennt ihr Alter, wenn sie älter als fünf Minuten sind, und antwortet „Noch keine Zustandsdaten“, bis die App deine Projekte einmal geladen hat. Siehe Widgets, Kurzbefehle und Siri.

Warten auf Agent in der App (Wartet im Portal) heißt, dass sich der Vaicoa-Agent noch nie gemeldet hat.

  • Die Installation ist nicht fertig geworden. Führ cloudviewer-agent status auf dem Server aus. Steht dort „not enrolled“, führ als root cloudviewer-agent enroll --token <agent_token> aus.
  • Der Server erreicht Vaicoa nicht. Der Agent braucht ausgehendes HTTPS zu api.vaicoa.com auf Port 443.
  • Das Token ist falsch. Es wird nur einmal angezeigt. Erzeuge im Portal unter Überwachte Server mit Token rotieren ein neues und registriere den Server erneut. Bei einem entzogenen Token steht stattdessen Agent widerrufen.

Im Portal heißt Veraltet, dass sich der Server zuletzt vor mehr als 5 Minuten gemeldet hat, Offline vor mehr als einer Stunde. Siehe Agent installieren und die Agent-Referenz.

Grau heißt keine Daten, nicht ausgefallen. Vaicoa konnte diesen Tag oder diesen Moment nicht beobachten: Die Zeile ist jünger als das Zeitfenster, unser eigenes Monitoring konnte sie nicht erreichen, oder die Checks eines kostenlosen Kontos waren pausiert (siehe Keine Daten). Graue Zeit zählt nicht in die Verfügbarkeit. Siehe Das Dashboard.

  • Alarme setzen Pro oder Team voraus. Gerätemodus und kostenloses Konto bekommen keine.
  • Mitteilungen sind für die App ausgeschaltet, in den Einstellungen des iPhones.
  • Teste es. Einstellungen → Mitteilungen → Testmitteilung senden schickt einen Test an jedes Gerät, das bei deinem Konto angemeldet ist. Kommt er an, funktioniert die Zustellung.
  • Du hast dich abgemeldet. Nach dem Abmelden bekommt das Gerät keine Push-Mitteilungen mehr.
  • Ein anderes Team. Ein Smartphone bekommt Alarme für jedes Team, in dem du auf ihm angemeldet bist. Verlässt du ein Team, kommen seine Alarme nicht mehr.
  • Der Alarm ist stummgeschaltet. Prüf unter Aktive Alarme, ob er als stumm gekennzeichnet ist.

Siehe Wenn etwas Aufmerksamkeit braucht.

Ein verbundenes Projekt zeigt „Token entzogen oder ungültig“

Abschnitt betitelt „Ein verbundenes Projekt zeigt „Token entzogen oder ungültig““

Hetzner hat das Token des Projekts bei drei Synchronisationen nacheinander abgelehnt. Das Projekt wird nicht mehr synchronisiert. Ein Admin erzeugt ein neues read-only Token und nutzt API-Token ersetzen am Projekt unter Hetzner-Projekte. Die Synchronisation läuft innerhalb einer Minute weiter, die Historie bleibt erhalten. Siehe Hetzner-Projekt verbinden.

Die beiden Netze sind sich uneinig: Eines erreicht den Endpunkt, das andere nicht. Meist lässt eine Firewall, eine WAF, ein Rate-Limiter oder ein Geoblocking nur manche Quellen durch, oder eine Route zu deinem Host ist kaputt. Uneinheitlich löst nie einen Alarm aus. Lass Anfragen mit dem User-Agent CloudViewer-Check/1.0 zu; die Quelladressen der Checks werden nicht veröffentlicht. Siehe Uptime-Checks in der Referenz.

Keines der beiden Netze hat gemeldet. Keine Daten ist grau, sendet keinen Alarm und zählt nicht als Ausfall.

  • Der Check ist neu. Die ersten Ergebnisse kommen innerhalb weniger Minuten.
  • Die Checks eines kostenlosen Kontos pausieren nach 60 Tagen, in denen niemand im Team die App oder das Portal genutzt hat. Dein Besuch startet sie innerhalb von ein, zwei Minuten wieder.
  • Bei uns gab es ein Problem.

Nach 20 Fehlversuchen in Folge, einem pro Minute, schaltet sich ein Ziel selbst ab. Die Seite Alarme im Portal zeigt, wann, mit dem letzten Fehler. Häufige Ursachen: Der Empfänger ist ausgefallen oder langsamer als 5 Sekunden, antwortet mit einem anderen Status als 2xx, oder die URL leitet weiter (Weiterleitungen werden nicht verfolgt; gib die endgültige URL ein). Repariere den Empfänger, nutz Wieder einschalten und dann Testereignis senden. Siehe Alarme dorthin schicken, wo du arbeitest.

  • Nichts hat begonnen oder wurde beendet. Für einen leeren Zeitraum gibt es keine E-Mail, auch wenn ein Alarm noch aktiv ist.
  • Der Empfänger muss ein Teammitglied mit bestätigter E-Mail-Adresse sein. Ist die Adresse nicht mehr bestätigt, wird nichts gesendet; wähl unter Alarme erneut einen Empfänger.
  • Sie ist noch nicht fällig. Die tägliche Übersicht geht um 07:00 UTC raus, die wöchentliche am Montag, die vierstündliche vier Stunden nach der vorherigen.
  • Stummgeschaltete Alarme sind nie enthalten, und Welche Alarme steht vielleicht auf nur kritisch.

Die Übersicht wird in der Sprache geschrieben, die im Portal-Profil des Empfängers eingestellt ist. Siehe Alarme dorthin schicken, wo du arbeitest.

„Veraltet“ zählt ab dem letzten erfolgreichen Durchlauf. Ein Durchlauf, der mit einem Exit-Code ungleich null endete, setzt es nicht zurück.

  • Der Report ist nicht angekommen. cloudviewer-report sagt auf stderr, warum: „job ran, not reported“, wenn es kein Token gefunden hat, oft weil ein Cron-Benutzer ohne root-Rechte /etc/cloudviewer-agent/agent.env nicht lesen kann, oder „not accepted“ mit dem HTTP-Status.
  • --max-age ist zu knapp. Ein täglicher Job mit --max-age 24h gilt als veraltet, sobald ein Durchlauf spät startet. Nimm 26h.

Ein Job, der nie erfolgreich war, gilt nie als veraltet; er bekommt nur Job failed. Siehe Bei fehlgeschlagenen Jobs Bescheid bekommen.

  • Log-Kontext braucht den Agent, bei Pro oder Team.
  • Nur Warnungen und Schlimmeres werden gesendet: journald-Priorität 0–4. Info- und Debug-Zeilen nicht. Schreib eigene mit logger -p user.warning.
  • Zeilen, die nur in eine Datei geschrieben werden, werden nicht erfasst; der Agent liest journald.
  • Die geschäftigste Minute behält ihre ersten 120 Zeilen. Die Ansicht sagt dann, dass einige Zeilen gedrosselt wurden. Zeilen über 2.048 Bytes werden abgeschnitten.
  • Zeilen werden 72 Stunden aufbewahrt, oder 2.000 Zeilen pro Server.
  • SSH- und sudo-Zeilen brauchen Team, das Einschalten durch einen Admin unter Log-Erfassung und ein System, das /var/log/auth.log oder /var/log/secure schreibt.

Siehe Log-Kontext.

Die Kosten eines dedizierten Servers stimmen nicht

Abschnitt betitelt „Die Kosten eines dedizierten Servers stimmen nicht“

Dedizierte Server stehen nicht in der Hetzner Cloud API, deshalb lässt sich ihr Preis nicht nachschlagen. Sie zählen mit 0 €, bis ein Admin den Preis im Portal unter Überwachte Server mit Preis festlegen einträgt. Dasselbe gilt für Prüfziele. Siehe Kosten.

  • Das Team hat nicht Pro oder Team. Kostenlose Konten bekommen keine Alarme.
  • Der Alarm ist stummgeschaltet, oder er ging an einen Kanal, den du nicht beobachtest. Prüf die Alarm-Historie in der Detailansicht des Servers.
  • Der Server hat sich nie gemeldet oder sendet nur Job-Reports. stopped reporting setzt voraus, dass mindestens einmal Agent-Metriken angekommen sind.
  • Es sind noch keine 5 Minuten vergangen. Der Agent sendet alle 30 Sekunden; der Alarm löst nach 5 Minuten Stille aus.
  • Ein Cloud-Server, den du mit einem eigenen Agent-Token registriert hast, ist nicht mit seiner Hetzner-Ressource verknüpft. Er bekommt trotzdem stopped reporting, aber seine Hetzner-Alarme laufen getrennt davon. Nutz für Cloud-Server ein Flotten-Token.

Siehe Alarmregeln.