시나리오는 들어오는 모든 메시지를 수신하고 이를 모두 에 저장 /app/syslog-ng/custom/output/all_devices.log
하지만 필터링을 통해 특정 메시지만 전달하는 것입니다.
filter
태그는 Syslog-NG로 들어오는 메시지를 필터링하는 데 사용됩니다. 이는 이 경우 올바른 사용법이 아닙니다. 예를 들어:filter f_warn { level(warn); };
편집하다:
내 현재 구성은 다음과 같습니다
@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-NG 에 모든 메시지를 저장한 후 all_devices.log
Syslog-NG는 필터링 후 특정 메시지만 원격 로그 서버로 전달하는 구문(구성)을 제공합니까?
답변1
구성 파일에 여러 지시어를 결합할 수 있습니다.
예를 들어 코드에 따라 필터를 정의합니다.
filter f_warn { level(warn); };
그리고 목적지는 다음과 같습니다.
destination remote_log_server {
udp("192.168.0.20" port(25214));
};
다음과 같이 정리하세요.
log { source(src); filter(f_warn); destination(remote_log_server); };
source
분명히 , 및 를 구성해야 합니다 filter
.destination
주의 깊게 읽어 보시길 권합니다공식 매뉴얼, 있기 때문에위치로깅을 사용자 정의하기 위한 옵션입니다.