중복 제거를 통한 메시지 전달 - SyslogNG

중복 제거를 통한 메시지 전달 - SyslogNG

다음의 제안을 기반으로 합니다.답변물론:두 개의 서버를 추가하고 항상 두 서버 모두에 쓰는 것이 가장 간단한 방법입니다.,

우리는 설정했습니다시스템 로그-NG서버가 시작됩니다두 대의 기계동일한 syslog 메시지가 all_devices.log두 시스템(RHEL 7.x) 모두에서 수신되고 저장됩니다.

두 컴퓨터의 구성은 다음과 같습니다.

@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);
};

한 단계 더 나아가 아래와 같이 필터링 규칙을 기반으로 특정 소비자에게 syslog 메시지를 전달하려고 합니다.

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

그러나 remote_log_server동일한 메시지를 전달하는 두 개의 syslog 서버이기 때문에 각 메시지에 대해 두 개의 메시지를 받게 됩니다.


Syslog-NG 구성에서는 두 메시지의 중복 제거를 하나의 syslog 메시지로 허용합니까?

답변1

Syslog-ng는 이를 지원하지 않습니다. 두 서버를 통해 동시에 세 번째 서버로 전달하고 그곳에서 중복 제거를 수행해야 하는 경우 중복 제거를 수행하려면 다른 소프트웨어나 추가 소프트웨어를 사용해야 합니다.

이 경우 연결된 답변에서 세 번째 옵션을 고려하겠습니다. haproxy를 사용하여 syslog 메시지를 한 번에 두 개의 중복 서버 중 하나로만 전달하는 것입니다.

관련 정보