A maioria dos daemons Syslog modernos (incluindo rsyslog e syslog-ng) suportam timestamping de alta precisão. Se você estiver usando uma dessas ferramentas, não terá dificuldade em configurá-la.
Quanto à precisão. . . depende. Primeiro de tudo, vai depender do hardware. A maioria dos hardwares modernos suporta tempos de alta precisão, mas não todos. Assumindo que o hardware suporta, ainda há alguns desafios. A prioridade máxima será garantir que o relógio esteja configurado com precisão e que quaisquer outras máquinas que estejam efetuando login tenham o tempo correspondente (supondo que você esteja enviando logs de todos os seus sistemas para um servidor de logs central). O ntpd é a ferramenta padrão para manter a hora exata do relógio (geralmente sincronizada com o ntp.org pool ).
Finalmente, chegamos ao evento em si. A resposta curta é que quase sempre haverá pelo menos um pouco de desvio, mesmo que seja muito leve. Ainda haverá alguma variabilidade aqui, dependendo de outros fatores. Muito dependerá do local de origem do evento e de como é captado. Por exemplo, se eu tenho um aplicativo que faz foo e, em seguida, envia um log para o syslog dizendo que o aplicativo fez foo, pode levar 100 ms entre a conclusão do foo e o envio do log. Pode levar outros 20ms para a chamada do sistema syslog () ser concluída.
Não me lembro dos detalhes de baixo nível do syslog, mas não acredito que o evento tenha registro de data e hora quando é enviado ao syslog, acho que é registrado pelo timestamped do daemon syslog quando é selecionado. Isso adiciona mais alguns milissegundos ao mix.
Basicamente, a menos que você esteja lidando com um sistema em tempo real com recursos de registro em tempo real, eu não acho que você terá 100% de precisão perfeita. Mesmo assim, você provavelmente teria níveis (microscópicos) de desvio, mas pelo menos teria restrições para saber sua margem de erro. Ao mesmo tempo, a menos que você tenha esse nível de exigência, seu timestamp provavelmente será preciso o suficiente.