Saltar al contenido

Firmas de log

Referencia de las líneas de log de diagnóstico de SysAdmin Crisis, agrupadas por subsistema y con sus formatos fijos para que reconozcas un problema.

Última actualización:

Cada línea de log sigue una plantilla, así que los formatos son fijos y se pueden aprender. Esta página enumera las líneas de diagnóstico, las que te dicen que algo va mal. Las líneas de confirmación que aparecen después de actuar se dejan fuera deliberadamente.

Cómo leer una línea

Los logs adoptan el formato que escribiría una máquina Linux real: hora, nombre de host, el servicio que lo escribió y el mensaje. En el juego lees los archivos de /var/log con cat, tail, grep y awk; también existe 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

Quién habla

ServicioQué escribe
kernelTablas de red, el OOM killer, alarmas de temperatura y de ventiladores, la tarjeta de red
monitUmbrales de CPU, memoria y disco, comprobaciones de salud, caducidad de certificados
nginxErrores de configuración y de TLS, estado del upstream
postgresConsultas lentas, esperas de bloqueo, agotamiento de conexiones
CRONInicio de tareas programadas
sshd / sudoIntentos de inicio de sesión y comandos de administrador
Deniz:La mentora; en la noche uno y al comienzo de cada noche de campaña

Red

LíneaSignificado
kernel: TCP: request_sock_TCP: Possible SYN flooding on port 443El número de conexiones que llegan al borde está muy por encima de lo normal
kernel: nf_conntrack: table full, dropping packetLa tabla de conexiones está llena; se están descartando paquetes
nginx: upstream timed out (110: Connection timed out) while reading response header from upstreamEl balanceador de carga no recibe respuesta de un backend

Métricas

LíneaSignificado
monit: '{host}' cpu usage of {pct}% matches resource limitLa CPU superó su umbral
monit: '{host}' mem usage of {pct}% matches resource limitLa RAM está cerca del límite
monit: 'rootfs' space usage {pct}% matches resource limitUna partición se está llenando
rsyslogd: ... No space left on deviceLa partición está llena; las escrituras fallan
kernel: CPU0: Core temperature above threshold, cpu clock throttledLa CPU redujo su velocidad por el calor
kernel: nct6775 ... fan1: alarm, input 0 RPMUn ventilador se detuvo
kernel: thermal thermal_zone0: critical temperature reachedApagado térmico
monit: 'shop-api' failed protocol test ... response timeLentitud en toda la flota; no se indica la causa

Procesos y tareas

LíneaSignificado
monit: '{name}' mem usage of {pct}%Un proceso cuya memoria está creciendo
monit: '{name}' cpu usage of {pct}%Un proceso que acapara la CPU
kernel: {name} invoked oom-killerSe agotó la memoria; el nombre escrito es el de quien invocó al killer, no el de quien tenía la fuga
CRON: (root) CMD (/opt/jobs/{name})Una tarea programada arrancando

Base de datos

LíneaSignificado
postgres: process N still waiting for ShareLock ... Process holding the lock: MN espera el bloqueo de M
postgres: duration: {ms} ms statement: ...La duración de la consulta que mantiene el bloqueo
postgres: FATAL: remaining connection slots are reserved ...El pool de conexiones está agotado

TLS

LíneaSignificado
monit: 'shop-tls' certificate expiry test failed -- certificate expires in less than 1 dayLa única advertencia temprana
nginx: [crit] SSL_do_handshake() failed ... certificate expiredDemasiado tarde; los clientes ya no pueden conectarse