Encaminhando mensagens com determinado filtro

0

O cenário é receber todas as mensagens recebidas e armazenar todas essas mensagens em /app/syslog-ng/custom/output/all_devices.log , mas encaminhar apenas algumas mensagens (por filtragem).

A tag

filter é usada para filtrar mensagens recebidas para o Syslog-NG, o que não é o uso correto, neste cenário. Por exemplo: filter f_warn { level(warn); };

Editar:

Minha configuração atual é:

@version: 3.17

source s_network {
        udp(
                flags(syslog_protocol)
                keep_hostname(yes)
                keep_timestamp(yes)
                use_dns(no)
                use_fqdn(no)
        );
};

destination d_all_logs {
        file("/app/syslog-ng/custom/output/all_devices.log");

};

log {
        source(s_network);
        destination(d_all_logs);
};

Depois de armazenar todas as mensagens em all_devices.log , o Syslog-NG fornece sintaxe (configuração) para encaminhar apenas determinadas mensagens (após a filtragem) para o servidor de log remoto?

    
por overexchange 06.09.2018 / 20:10

1 resposta

1

Você pode combinar várias diretivas no seu arquivo de configuração.

Como exemplo, com base no seu código, você define um filtro:

filter f_warn { level(warn); };

então um destino:

destination remote_log_server {
 udp("192.168.0.20" port(25214));
};

e coloque tudo junto com algo como:

log { source(src); filter(f_warn); destination(remote_log_server); };

Obviamente, você precisa configurar seus source , filter e destination com base em suas necessidades.

Sugiro que leia com atenção os manual oficial , pois há lotes de opções para personalizar seu registro.

    
por 06.09.2018 / 20:30