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.

Warten auf Agent in der App (Wartet im Portal) heißt, dass sich der 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 Cloud Viewer nicht. Der Agent braucht ausgehendes HTTPS zu api.cloudviewer.app 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. Cloud Viewer 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 Smartphones. Prüf auf Android auch den Mitteilungskanal Alarme.
  • 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 Projekt zeigt „Token entzogen oder ungültig“

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

Hetzner hat das Token des Projekts bei drei Synchronisationen nacheinander abgelehnt, meist weil jemand es in der Hetzner Console entzogen oder rotiert hat. 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, die Web-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 kann Cloud Viewer ihren Preis nicht kennen. 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.

Widgets stellen keine Netzwerkanfragen. Sie zeigen, was die App bei der letzten Aktualisierung gespeichert hat. Öffne also die App, um sie zu aktualisieren. Auf dem iPhone aktualisiert auch die Push-Mitteilung eines kritischen Alarms das Widget. Auf Android zeigt das Widget „Aktualisiert vor …“, sobald seine Daten eine Stunde alt sind. Siehe Widgets, Kurzbefehle und Siri.