Migrar config do syslog-ng para rsyslog

1

Eu preciso migrar algumas regras do syslog-ng para o rsyslog. O objetivo das regras é coletar os arquivos de log dos computadores da organização. A configuração inicial do syslog-ng consiste nos seguintes arquivadores e destinos:

filter f_clamscan { facility(uucp) and match ("Clamscan"); };
filter f_sentinel_memoryscan { facility(uucp) and match ("Sentinel_memoryscan"); };
filter f_sentinel_messages { facility(uucp) and match ("Sentinel_messages"); };
filter f_sentinel_quarantine { facility(uucp) and match ("Sentinel_quarantine"); };
filter f_sentinel_realtime { facility(uucp) and match ("Sentinel_realtime"); };
filter f_clamwin_update { facility(uucp) and match ("Clamwin_update"); };


destination d_log {
  file("/var/log/clients/$HOST/$FACILITY.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_clamscan {
  file("/var/log/clients/$HOST/clamscan.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_sentineln_memoryscan {
  file("/var/log/clients/$HOST/sentinel_memoryscan.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_sentinel_messages {
  file("/var/log/clients/$HOST/sentinel_messages.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_sentinel_quarantine {
  file("/var/log/clients/$HOST/sentinel_quarantine.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_sentinel_realtime {
  file("/var/log/clients/$HOST/sentinel_realtime.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};

destination d_log_clamwin_update {
  file("/var/log/clients/$HOST/clamwin_update.log" \
    owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};


log { source(s_external); filter (f_clamscan); destination(d_log_clamscan); };
log { source(s_external); filter (f_sentinel_memoryscan); destination(d_log_sentinel_memoryscan); };
log { source(s_external); filter (f_sentinel_messages); destination(d_log_sentinel_messages); };
log { source(s_external); filter (f_sentinel_quarantine); destination(d_log_sentinel_quarantine); };
log { source(s_external); filter (f_sentinel_realtime); destination(d_log_sentinel_realtime); };
log { source(s_external); filter (f_clamwin_update); destination(d_log_clamwin_update); };

Até agora eu tentei várias maneiras, mas nenhuma parece estar funcionando como esperado. Abaixo está minha configuração:

$template DYNclamscan,"/var/log/clients/%HOSTNAME%/clamscan.log"
$template DYNsentinelmemory,"/var/log/clients/%HOSTNAME%/sentinel_memoryscan.log"
$template DYNsentinelmessages,"/var/log/clients/%HOSTNAME%/sentinel_messages.log"
$template DYNsentinelquarantine,"/var/log/clients/%HOSTNAME%/sentinel_quarantine.log"
$template DYNsentinelrealtime,"/var/log/clients/%HOSTNAME%/sentinel_realtime.log"
$template DYNclamwinupdate,"/var/log/clients/%HOSTNAME%/clamwin_update.log"

:msg, contains, "clamscan"  ?DYNclamscan
& ~
:msg, contains, "sentinel_memoryscan" ?DYNsentinelmemory
& ~
:msg, contains, "sentinel_messages" ?DYNsentinelmessages
& ~
:msg, contains, "sentinel_quarantine" ?DYNsentinelquarantine
& ~
:msg, contains, "sentinel_realtime" ?DYNsentinelrealtime
& ~
:msg, contains, "clamwin_update" ?DYNclamwinupdate
& ~

O primeiro arquivo clamscan.log parece ser criado, mas os outros não são criados.

Você vê algo errado na minha configuração? Ou você tem outra ideia de como escrever essas regras?

    
por Andrei Silviu Giubleanu 10.05.2017 / 09:58

0 respostas