여러 원격 클라이언트의 데이터가 있는 rsyslog 서버가 있습니다. 이제 warn
, info
및 와 같은 특정 심각도 유형 debug
과 수락하려는 나머지 메시지를 삭제하려고 합니다.
다음 구성이 부분적으로 표시 template
되고 Rules
검사되었습니다.
아래 구성에서는 Custom conditional Forwarding
다른 이름으로 시작하는 다른 호스트 이름이 있기 때문에 모든 것을 주석 처리했습니다. 그래서 포기 warn
하고 info
잠시 쉬어 가면 debug
어떨까 하는 생각이 들었습니다.
$template wcc-logs, "/data/SYSTEMS/%HOSTNAME%/messages.log"
#### RULES ############################################
# Log anything (except mail) of level info or higher.#
# Don't log private authentication messages! #
####################################################
mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
*.* ?wcc-logs
#####################################################################
# Custom conditional Forwarding of messages to the syslog Directory #
###################################################################
#if $fromhost startswith "wc" then {
# *.crit,*.err,*.emerg,*.alert,*.panic,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
# & stop
#}
#if $fromhost startswith "sj" then -?wcc-logs
#& stop
#if $fromhost startswith "vlsj-" then -?wcc-logs
#& stop
위 구성에서 첫 번째 줄을 제외한 모든 항목이 기록되어야 한다고 가정하고 규칙 섹션에서 다음 규칙을 사용했음을 알 수 있습니다.
mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs *.* ?wcc-logs
rsyslogd 8.24.0
답변1
warn
다음 구문을 사용하면 레벨의 모든 메시지 와 "wcc-logs" 템플릿을 사용하여 기록하려는 모든 항목을 info
삭제할 수 있습니다 .debug
*.=warn,*.=info,*.=debug stop
*.*,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none ?wcc-logs
rsyslog.conf
삭제된 메시지는 파일의 다음 규칙을 추가로 처리하는 데 사용되지 않습니다 .
이러한 수준의 메시지를 무시하고 다른 규칙에 의한 추가 처리에 계속 사용하려는 경우 단일 규칙을 확장하여 이러한 특정 수준을 무시할 수 있습니다.
*.*,mail.none,authpriv.none,cron.none,news.none,uucp.none,kern.none,*.!=warn,*.!=info,*.!=debug ?wcc-logs