Zum Hauptinhalt springen

Ihre App überwachen

Ob Ihre App wie erwartet funktioniert oder nicht, es gibt verschiedene Möglichkeiten herauszufinden, was falsch ist.

Logs

Um Logs anzuzeigen, können Sie entweder Cockpit oder nctl verwenden. Verschiedene Komponenten von Deploio können Logs ausgeben:

  • Build-Logs: Dies sind Logs, die vom Build-Prozess erzeugt werden. Nützlich, wenn es ein Problem beim Erstellen Ihrer App gibt.
  • App-Logs: Diese Logs enthalten die Ausgabe der App-Replikas an stdout/stderr während der Laufzeit.
  • Worker Job-Logs: Diese Logs enthalten die Ausgabe des Worker-Jobs an stdout/stderr während der Laufzeit.
  • Deploy Job-Logs: Diese Logs enthalten die Ausgabe des Deploy-Jobs an stdout/stderr während der Laufzeit.

Beispiele

Zeigen Sie alle Logs einer App an. Diese Beispiele verwenden alle eine App namens go:

$ nctl logs app go
2024-10-22T16:07:55+02:00 {build="go-build-1", replica="go-build-1-build-pod"} Build successful
2024-10-22T16:07:59+02:00 {replica="go-59dcf7656f-9wr52"} 2024/10/22 14:07:59 starting HTTP server on :5678

Die Bezeichnungen zwischen den geschweiften Klammern geben an, zu welcher Komponente jede Protokollzeile gehört. Die Bezeichnungen können mit der Option --no-labels deaktiviert werden.

Nur die Haupt-App-Logs anzeigen.

nctl logs app go --type app

Worker-Job-Logs einer App anzeigen.

nctl logs app go --type worker_job

Deploy-Job-Logs einer App anzeigen.

nctl logs app go --type deploy_job

Alle Build-Logs einer App anzeigen.

nctl logs app go --type build

Alternativ können Sie auch die Logs eines bestimmten Builds mit dem Befehl logs build anzeigen.

nctl logs build go-build-1

Sie können das Flag -f hinzufügen, um den Logs zu folgen, während sie ausgegeben werden.

nctl logs app go -f

Um mehr Zeilen zu erhalten, verwenden Sie das Flag -l/--lines.

nctl logs app go-example -l 1000

Um weiter zurück in der Zeit zu gehen, verwenden Sie das Flag -s/--since. Zeitspannen können mit 1s (1 Sekunde), 1m (1 Minute) und 1h (1 Stunde) angegeben werden.

nctl logs app go-example -s 48h

Statistiken

Um eine Übersicht über die App-Replikas, ihren Status und ihre Ressourcennutzung zu erhalten, können Sie das Flag -o stats für den Befehl nctl get app verwenden.

$ nctl get app rails -o stats
PROJECT        NAME    REPLICA                  STATUS   CPU   CPU%   MEMORY   MEMORY%   RESTARTS   LASTEXITCODE
nine-staging   rails   rails-9f6bdb676-crlrf    ready    1m    0.8%   121MiB   47.4%     0          <none>
nine-staging   rails   rails-9f6bdb676-2pfps    ready    1m    0.8%   123MiB   48.4%     0          <none>
nine-staging   rails   rails-9f6bdb676-sd9mm    ready    1m    0.8%   122MiB   48.0%     1          137 (Out of memory)

Wenn Sie Worker-Jobs definiert haben, werden diese auch hier angezeigt. Die Hilfeausgabe von nctl get app -h beschreibt alle Spalten:

REPLICA: The name of the app replica.
STATUS: Current status of the replica.
CPU: Current CPU usage in millicores (1000m is a full CPU core).
CPU%: Current CPU usage relative to the app size. This can be over 100% as Deploio allows bursting.
MEMORY: Current Memory usage in MiB.
MEMORY%: Current Memory relative to the app size. This can be over 100% as Deploio allows bursting.
RESTARTS: The amount of times the replica has been restarted.
LASTEXITCODE: The exit code the last time the replica restarted. This can give an indication on why the replica is restarting.