Как использовать 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