다음은 로컬 Syslog-NG 로깅에 대한 현재 구성입니다.
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);
};
특정 메시지를 전달하려면... 추가할 구성은 다음과 같습니다.
filter message_filter_string_1{
match("01CONFIGURATION\/6\/hwCfgChgNotify\(t\)", value("MESSAGE"));
}
filter message_filter_string_2{
match("01SHELL\/5\/CMDRECORD", value("MESSAGE"));
}
filter message_filter_string_3{
match("10SHELL", value("MESSAGE"));
}
filter message_filter_string_4{
match("ACE-1-111008:", value("MESSAGE"));
}
destination remote_log_server {
udp("192.168.0.20" port(25214));
};
log { source(s_network); filter(message_filter_string_1); destination(remote_log_server); };
log { source(s_network); filter(message_filter_string_2); destination(remote_log_server); };
log { source(s_network); filter(message_filter_string_3); destination(remote_log_server); };
log { source(s_network); filter(message_filter_string_4); destination(remote_log_server); };
실제로 그러한 필터는 80개가 넘습니다.
Syslog-NG 구성에서는 OR 일치가 포함된 단일 문을 사용하여 구문을 작성할 수 있습니까 filter
?regex1
regex2
regex3
(또는)
log
Syslog-NG 구성에서는 여러 필터가 포함된 단일 문을 사용하여 구문 작성을 허용합니까?
답변1
여러 일치 문을 결합하려면 다음을 사용하세요 or
.
filter send_remote {
match("01CONFIGURATION\/6\/hwCfgChgNotify\(t\)", value("MESSAGE"))
or
match("01SHELL\/5\/CMDRECORD", value("MESSAGE"))
or
match("10SHELL", value("MESSAGE"))
or
match("ACE-1-111008:", value("MESSAGE"));
}
...그런 다음 해당 필터 이름을 한 번 사용합니다.
log { source(s_network); filter(send_remote); destination(remote_log_server); };