Zum Inhalt springen

Log-Signaturen

Referenz der diagnostischen Log-Zeilen in SysAdmin Crisis, nach Subsystem gruppiert und in festen Formaten gezeigt, damit du Probleme erkennst.

Zuletzt aktualisiert:

Jede Log-Zeile ist eine Vorlage, die Formate sind also fest und lernbar. Diese Seite listet die diagnostischen Zeilen auf – diejenigen, die dir sagen, dass etwas nicht stimmt. Die Bestätigungszeilen, die nach deinem Eingriff erscheinen, sind bewusst weggelassen.

Wie man eine Zeile liest

Logs haben das Format, das eine echte Linux-Maschine schreiben würde: Zeit, Hostname, der Dienst, der sie geschrieben hat, und die Meldung. Im Spiel liest du die Dateien unter /var/log mit cat, tail, grep und awk; außerdem gibt es journalctl.

03:11:42 web-02 kernel: nf_conntrack: nf_conntrack: table full, dropping packet
│        │      │       └─ message: the thing that is out of the ordinary
│        │      └─ the service that wrote it (kernel, monit, nginx, postgres, CRON ...)
│        └─ the machine reporting about itself
└─ in-game timestamp

Wer spricht

DienstWas er schreibt
kernelNetzwerktabellen, den OOM killer, Temperatur- und Lüfteralarme, die Netzwerkkarte
monitCPU-, Speicher- und Festplattenschwellen, Health-Checks, Zertifikatsablauf
nginxKonfigurations- und TLS-Fehler, Upstream-Status
postgresLangsame Abfragen, Sperrwartezeiten, erschöpfte Verbindungen
CRONStart geplanter Jobs
sshd / sudoAnmeldeversuche und Administratorbefehle
Deniz:Die Mentorin; in Nacht eins und zu Beginn jeder Kampagnennacht

Netzwerk

ZeileBedeutung
kernel: TCP: request_sock_TCP: Possible SYN flooding on port 443Die Zahl der Verbindungen, die den Rand erreichen, liegt weit über dem Normalen
kernel: nf_conntrack: table full, dropping packetDie Verbindungstabelle ist voll; Pakete werden verworfen
nginx: upstream timed out (110: Connection timed out) while reading response header from upstreamDer Load Balancer bekommt von einem Backend keine Antwort

Metriken

ZeileBedeutung
monit: '{host}' cpu usage of {pct}% matches resource limitDie CPU hat ihre Schwelle überschritten
monit: '{host}' mem usage of {pct}% matches resource limitDer RAM liegt nahe an der Obergrenze
monit: 'rootfs' space usage {pct}% matches resource limitEine Partition füllt sich
rsyslogd: ... No space left on deviceDie Partition ist voll; Schreibzugriffe schlagen fehl
kernel: CPU0: Core temperature above threshold, cpu clock throttledDie CPU hat wegen Hitze gedrosselt
kernel: nct6775 ... fan1: alarm, input 0 RPMEin Lüfter ist stehen geblieben
kernel: thermal thermal_zone0: critical temperature reachedThermische Abschaltung
monit: 'shop-api' failed protocol test ... response timeLangsamkeit im ganzen Serverpark; keine Ursache genannt

Prozesse und Jobs

ZeileBedeutung
monit: '{name}' mem usage of {pct}%Ein Prozess, dessen Speicher wächst
monit: '{name}' cpu usage of {pct}%Ein Prozess, der die CPU hält
kernel: {name} invoked oom-killerDer Speicher ist ausgegangen; der geschriebene Name ist der, der den Killer aufgerufen hat, nicht der, der das Leck verursacht hat
CRON: (root) CMD (/opt/jobs/{name})Ein geplanter Job startet

Datenbank

ZeileBedeutung
postgres: process N still waiting for ShareLock ... Process holding the lock: MN wartet auf die Sperre von M
postgres: duration: {ms} ms statement: ...Die Dauer der Abfrage, die die Sperre hält
postgres: FATAL: remaining connection slots are reserved ...Der Verbindungspool ist erschöpft

TLS

ZeileBedeutung
monit: 'shop-tls' certificate expiry test failed -- certificate expires in less than 1 dayDie einzige Frühwarnung
nginx: [crit] SSL_do_handshake() failed ... certificate expiredZu spät; Clients können sich nicht mehr verbinden