rsyslog template - analisar falha na expressão regular
Estou tentando estruturar logs do meu D-Link DAP-2310 em um servidor rsyslog. Ele tem um formato de log não padrão e minha idéia é consertar isso com regex em um modelo rsyslog. Quando analiso o rsyslog.conf com o rsyslogd -N1, o resultado é realmente deprimente.
O item de dados msg pareceAA:BB:CC:DD:EE] [app-name] log message
A primeira parte é um endereço mac, onde a primeira parte “[00:” é colocada em outro item de dados, não pergunte o porquê. A parte dois “[nome do aplicativo]” é o aplicativo / instância que envia a mensagem. A última parte "mensagem de log" é a ação registrada.
As partes interessantes são: i) nome do aplicativo e ii) mensagem de log.
Eu validei após a expressão regular emhttp://www.rsyslog.com/regex/ e os dois funcionam como um encanto.
\ [(. +) \]\ [. + \] (. +)A declaração completa do modelo é semelhante a:
template(name=”AP_tmpl” type=”list”) {
property(name=”timestamp”)
constant(value=” “)
property(name=”hostname”)
constant(value=” “)
property(name=”msg”
regex.type=”ERE”
regex.submatch=”1”
regex.expression=”\[(.+)\]--end”
regex.nomatchmode=”BLANK”
)
constant(value=” “)
property(name=”msg”
regex.type=”ERE”
regex.submatch=”1”
regex.expression=”\[.+\](.+)$--end”
regex.nomatchmode=”BLANK”
)
constant(value=”\n“)
}
Quando analiso o arquivo conf, ele se queixa de caracteres de escape.
tobias@ubuntutest:~$ sudo rsyslogd -N1
rsyslogd: version 7.4.4, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '"' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '\' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '.' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '*' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: invalid character '\' in object definition - is there an invalid escape sequence somewhere? [try http://www.rsyslog.com/e/2207 ]
rsyslogd: error during parsing file /etc/rsyslog.d/41-AP.conf, on or before line 20: syntax error on token ']' [try http://www.rsyslog.com/e/2207 ]
rsyslogd: CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2207 ]
rsyslogd: run failed with error -2207 (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what that number means)
Não sei por que, as expressões regulares são validadas sem erros.http://www.rsyslog.com/e/2207 não dá nada. Alguma ideia?