Как использовать startmsg.regex в Rsyslog

Ниже приведен мой файл конфигурации. Я хочу добавить конфиг для startmsg.regex,

Я добавил следующую строку в моем конфигурационном файле

  startmsg.regex="^[[:digit:]]{4}\/[[:digit:]]{2}\/[[:digit:]]{2} [[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}"


ModLoad imfile
$InputFilePollInterval 10
$PrivDropToGroup proxy
$WorkDirectory /var/spool/rsyslog


$InputFileName /var/log/app/cache.log
$InputFileTag app-error:
$InputFileStateFile stat-app-error
$InputFileSeverity error
$InputFilePersistStateInterval 20000
$InputRunFileMonitor

  startmsg.regex="^[[:digit:]]{4}\/[[:digit:]]{2}\/[[:digit:]]{2} [[:digit:]]{2}:[[:digit:]]{2}:[[:digit:]]{2}"





$template AppError,"error %msg%\n"

if $programname == 'app-error' then @@0.0.0.0:12345;AppError
if $programname == 'app-error' then ~

И когда я проверяю свой конфигурационный файл, используя rsyslogd -N1Я получаю ошибку. Как правильно использовать эту функцию?

1 ответ

Решение

Ниже приведен мой файл conf, который я использую для отправки логов через rsyslog. Я также добавляю образцы журналов.

Эта конфигурация будет соответствовать тому, что каждое событие начинается с ГГГГ / ММ / ДД ЧЧ: ММ: СС, а затем отправляется на мою конечную точку TCP. Эта конфигурация может использоваться с многострочными журналами

module(load="imfile" PollingInterval="10") #needs to be done just once
# File 1
input(type="imfile"
  File="/var/log/app/my.log"
  Tag="app-error"
  Severity="error"
  startmsg.regex="^[[:digit:]]{4}/[[:digit:]]{2}/[[:digit:]]{2} [[:digit:]]{1,2}:[[:digit:]]{1,2}:[[:digit:]]{1,2}"
)


$PrivDropToGroup proxy
$WorkDirectory /var/spool/rsyslog


$template AppError,"error %msg%\n"

if $programname == 'app-error' then @@0.0.0.0:12345;AppError
if $programname == 'app-error' then ~

Образец журнала:

2017/10/24 09:14:06 id1|   Took 0.00 seconds (  0.00 entries/sec).
CPU Usage: 0.052 seconds = 0.032 user + 0.020 sys
Maximum Resident Size: 104944 KB
Page faults with physical i/o: 0
2017/10/24 09:14:06 id1| found error

Теперь rsyslog будет отправлять мои многострочные журналы как одно событие в мою конечную точку tcp следующим образом:

2017/10/24 09:14:06 id1|   Took 0.00 seconds (  0.00 entries/sec). \nCPU Usage: 0.052 seconds = 0.032 user + 0.020 sys \nMaximum Resident Size: 104944 KB \nPage faults with physical i/o: 0
2017/10/24 09:14:06 id1| found error
Другие вопросы по тегам