Infelizmente (porque eu queria isso também), a documentação está errada e o recurso apareceu na versão 6.3.8. O texto a seguir explica minhas descobertas.
De acordo com o repositório git do projeto, a primeira menção de unixtimestamp
ocorre no commit b88ba94, que está presente apenas na tag v6.3.8:
$ git clone git://git.adiscon.com/git/rsyslog.git
$ cd rsyslog
$ git log --reverse -S 'unixtimestamp' --oneline | head -1
b88ba94 added "date-unixtimestamp" property replacer option to format as a unix timestamp
$ git tag --contains b88ba94
v6.3.10
v6.3.11
v6.3.12
v6.3.8
v6.3.9
v6.4.0
...
$
Eu então verifiquei novamente a presença de unixtimestamp
no SRPM no caso de ser backported - mas não tive essa sorte.
Finalmente, se você depurar a configuração com o comando rsyslogd -c 5 -d -N 1 -f /etc/rsyslog.conf
, poderá ver um aviso de que o rsyslog não sabe sobre unixtimestamp
:
$ rsyslogd -c 5 -d -N 1 -f /etc/rsyslog.conf
...
8913.783769999:7f45539b3700: cfline: '$template NagiosPassiveServiceCheck, "%TIMESTAMP:::date-unixtimestamp% PROCESS_SERVICE_CHECK_RESULT;%hostname%;FOO;3;%msg:2:$%\n"'
8913.783783726:7f45539b3700: Invalid field option 'date-unixtimestamp' specified - ignored.
$
Verifique o valor do argumento de compatibilidade -c
que seu sistema está usando. Este argumento pode mudar radicalmente como o rsyslog interpreta o arquivo de configuração, portanto, certifique-se de desenvolver e depurar a configuração com o mesmo nível que você usará na produção (veja /etc/sysconfig/rsyslog
para defini-lo).
Como uma alternativa ao rsyslog, pode valer a pena olhar para o syslog-ng (disponível nos repositórios do EPEL) - que permite a saída de mensagens com timestamps representados como segundos-de-época.