O rsyslogd envia novas informações ou o arquivo de log inteiro na reinicialização

2

Estou tentando usar o rsyslog em uma máquina Debian para enviar dados de log para um servidor externo.

Os arquivos de registro em que estou interessado têm cerca de 10 GB de dados históricos.

Quando comecei a configurar o rsyslog, fiquei com a impressão de que ele iria começar a enviar todas as novas entradas de log para o servidor, mas foi informado pelo mantenedor do servidor de destino que enviei mais de 10 GB de dados. Eu reiniciei o rsyslogd algumas vezes.

Eu estou querendo saber se, por padrão, ele envia todos os registros do começo do tempo, em vez dos novos?

Aqui está o meu arquivo de configuração

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

####################
# Nginx Access Log #
####################
# Input for Nginx Access Log
$InputFileName /var/log/nginx/myapp.access.log
$InputFileTag nginx-access
$InputFileStateFile stat-nginx-access #this must be unique for each file being polled
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor

# Add a tag for file events
$template NginxAccessFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% [SecretKey@41058 tag=\"myapp-nginx-access\"] %msg%\n"

# Send to Loggly then discard
if $programname == 'nginx-access' then @@server.loggly.com:514;NginxAccessFormat
if $programname == 'nginx-access' then ~

######################
# Nginx Access Error #
######################
# Input for Nginx Error Log
#$InputFileName /var/log/nginx/myapp.error.log
#$InputFileTag nginx-error
#$InputFileStateFile stat-nginx-error #this must be unique for each file being polled
#$InputFileSeverity info
#$InputFilePersistStateInterval 20000
#$InputRunFileMonitor

# Add a tag for file events
#$template NginxErrorFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% [SecretKey@41058 tag=\"myapp-nginx-error\"] %msg%\n"

# Send to Loggly then discard
#if $programname == 'nginx-error' then @@server.loggly.com:514;NginxErrorFormat
#if $programname == 'nginx-error' then ~

#############
# PHP Error #
#############
# Input for PHP Error Log
#$InputFileName /var/log/hhvm/error.log
#$InputFileTag php-error
#$InputFileStateFile stat-php-error #this must be unique for each file being polled
#$InputFileSeverity info
#$InputFilePersistStateInterval 20000
#$InputRunFileMonitor

# Add a tag for file events
#$template PhpErrorFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %hostname% %app-name% %procid% %msgid% [SecretKey@41058 tag=\"myapp-hhvm-error\"] %msg%\n"

# Send to Loggly then discard
#if $programname == 'php-error' then @@server.loggly.com:514;PhpErrorFormat
#if $programname == 'php-error' then ~

Aqui estão as informações de versão do rsyslogd

rsyslogd -v
rsyslogd 8.4.2, compiled with:
    FEATURE_REGEXP:             Yes
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    32bit Atomic operations supported:  Yes
    64bit Atomic operations supported:  Yes
    memory allocator:           system default
    Runtime Instrumentation (slow code):    No
    uuid support:               Yes
    Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.
    
por user893730 06.11.2015 / 20:24

1 resposta

1

Sim, por padrão, ele começará a receber registros desde o início, embora ele escreva um arquivo de estado para lembrar de onde parou. Eu suponho que você pode remover o arquivo de estado, girar o arquivo em questão e começar de novo se você quiser apenas os novos registros.

Além disso, sugiro atualizar o rsyslog para o último estável (agora 8.14.0) já que muitos dos fixos relacionados ao imfile foram adicionados desde 8.4.2 (veja changelog para mais detalhes).

    
por 09.11.2015 / 13:57