Pular para o conteúdo

Assinaturas nos logs

Referência das linhas de log de diagnóstico do SysAdmin Crisis, agrupadas por subsistema e em seus formatos fixos, para reconhecer um problema.

Última atualização:

Toda linha de log é gerada a partir de um modelo, então os formatos são fixos e aprendíveis. Esta página lista as linhas de diagnóstico — as que dizem que algo está errado. As linhas de confirmação que aparecem depois que você age ficam de fora, de propósito.

Como ler uma linha

Os logs seguem o formato que uma máquina Linux real escreveria: hora, hostname, o serviço que escreveu e a mensagem. No jogo, você lê os arquivos em /var/log com cat, tail, grep e awk; há também 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

Quem está falando

ServiçoO que escreve
kernelTabelas de rede, o OOM killer, alarmes de temperatura e de ventoinha, a placa de rede
monitLimites de CPU, memória e disco, verificações de saúde, expiração de certificado
nginxErros de configuração e de TLS, status do upstream
postgresConsultas lentas, esperas por lock, esgotamento de conexões
CRONInício de tarefas agendadas
sshd / sudoTentativas de login e comandos de administrador
Deniz:A mentora; na noite um e no início de cada noite da campanha

Rede

LinhaSignificado
kernel: TCP: request_sock_TCP: Possible SYN flooding on port 443O número de conexões que chegam à borda está muito acima do normal
kernel: nf_conntrack: table full, dropping packetA tabela de conexões está cheia; pacotes estão sendo descartados
nginx: upstream timed out (110: Connection timed out) while reading response header from upstreamO balanceador de carga não recebe resposta de um backend

Métricas

LinhaSignificado
monit: '{host}' cpu usage of {pct}% matches resource limitA CPU cruzou seu limite
monit: '{host}' mem usage of {pct}% matches resource limitA RAM está perto do teto
monit: 'rootfs' space usage {pct}% matches resource limitUma partição está enchendo
rsyslogd: ... No space left on deviceA partição está cheia; as gravações falham
kernel: CPU0: Core temperature above threshold, cpu clock throttledA CPU sofreu throttling por causa do calor
kernel: nct6775 ... fan1: alarm, input 0 RPMUma ventoinha parou
kernel: thermal thermal_zone0: critical temperature reachedDesligamento térmico
monit: 'shop-api' failed protocol test ... response timeLentidão na frota inteira; nenhuma causa indicada

Processos e tarefas

LinhaSignificado
monit: '{name}' mem usage of {pct}%Um processo cuja memória está crescendo
monit: '{name}' cpu usage of {pct}%Um processo que segura a CPU
kernel: {name} invoked oom-killerA memória acabou; o nome escrito é de quem invocou o killer, não de quem vazou
CRON: (root) CMD (/opt/jobs/{name})Uma tarefa agendada começando

Banco de dados

LinhaSignificado
postgres: process N still waiting for ShareLock ... Process holding the lock: MN está esperando o lock de M
postgres: duration: {ms} ms statement: ...A duração da consulta que segura o lock
postgres: FATAL: remaining connection slots are reserved ...O pool de conexões se esgotou

TLS

LinhaSignificado
monit: 'shop-tls' certificate expiry test failed -- certificate expires in less than 1 dayO único e exclusivo aviso antecipado
nginx: [crit] SSL_do_handshake() failed ... certificate expiredTarde demais; os clientes não conseguem mais se conectar