syslog
termoredesSuporte de TI
O protocolo universal de envio de logs: equipamentos transmitem eventos com timestamp e severidade a um coletor central, do ruído de debug às emergências.
O RFC 5424 formalizou o que o BSD improvisou; severidade 0 é Emergency, 7 é Debug, e ambas são ignoradas às 3 da manhã.
O syslog é o mínimo denominador comum do registro de máquinas, e sua longevidade vem de ser simples o bastante para que tudo o implemente. Uma mensagem carrega facilidade, severidade, carimbo de tempo, nome do host e texto livre. É quase todo o protocolo, o que explica tanto sua universalidade quanto por que interpretá-lo de forma consistente é mais difícil do que parece.
O valor de prioridade é a parte que as pessoas decodificam errado. É um único número que codifica facilidade e severidade juntas, calculado como facilidade vezes oito mais severidade, então recuperar as duas exige aritmética, não leitura. A ordenação da severidade também é contraintuitiva: zero é emergência e sete é depuração, então números menores são mais urgentes, e filtros escritos do jeito intuitivo descartam silenciosamente justamente as mensagens que importavam.
O transporte é onde mora o risco operacional. O syslog clássico é UDP, o que significa mensagens sem confirmação, que podem se perder exatamente quando o equipamento está sob o estresse que você mais quer registrado. Os transportes TCP e TLS corrigem entrega e confidencialidade, e a razão de se importar é que os logs são a evidência de um incidente que ainda não aconteceu: uma lacuna neles é descoberta no pior momento possível.