Syslog 구성 - 중복된 경고가 있습니까?

Syslog 구성 - 중복된 경고가 있습니까?

저는 Solaris 10을 사용하고 있는데 다음 줄에서 이 줄을 보았습니다./etc/syslog.conf

*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

이것은 내가 가지고 있다면승인 오류/var/adm/message, 다음과 같은 이유로 오류 메시지가 두 번 나타납니다.

*.err  
auth.debug 

다른 줄이 있다고 가정해 보겠습니다.

*.emerg  *
*.err;kern.debug;daemon.notice;mail.crit;auth.debug;local2.notice       /var/adm/messages

이것은 내가 가지고 있다면kernel.emerg, 두 번 기록됩니다 /var/adm/messages.

 *.emerg  *   and
kern.debug  /var/adm/messages

?

=======

다음에 추가됨

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 
  • syslog는 이 시스템이 로그 호스트인지 어떻게 확인합니까? /etc/hosts에서 "loghost" 별칭을 확인하고 그것이 시스템의 IP와 일치하는지 확인함으로써?

  • 내 syslog.conf에는 ifdef가 없지만 여전히 작동합니다. ifdef가 필요합니까?

답변1

이러한 규칙은 기본적으로 런타임 시 각 메시지에 적용되는 필터를 정의하므로 현실적으로 동일한 대상/파일에 중복 메시지가 있어서는 안 됩니다.

세미콜론('';'') 구분 기호를 사용하여 단일 작업에 대해 여러 선택기를 지정할 수 있습니다. 선택기 필드의 각 선택기가 이전 선택기를 재정의한다는 점을 기억하세요.

그러나 다른 파일(콘솔 포함)로 전송된 동일한 메시지를 받을 수 있고 받을 수 있습니다.

의 경우

*.emerg *

이는 syslog의 모든 사용자에 대한 약어이며 모든 사용자에게 적용됩니다.

모두 로그인되어 있습니다

긴급 메시지는 일반적으로 현재 온라인에 있는 모든 사용자에게 시스템에 이상이 발생했음을 알리기 위해 전송됩니다. 이 wall(1) 기능을 지정하려면 별표(''*'')를 사용하십시오.

따라서 kernel.emerg에서는 실제로 모든 사용자와 /var/adm/messages로 전송되지만 /var/adm/messages에는 한 줄만 있습니다.

원시 BSD syslogd의 동작은 주어진 작업을 기반으로 지정된 우선순위 이상의 모든 메시지를 기록하는 것입니다.

매뉴얼 syslog.conf페이지에서 인용:

syslog.conf(5) 매뉴얼 페이지

ifdef의 경우 예는 다음과 같습니다.

auth.notice         ifdef(`LOGHOST', /var/log/authlog, @loghost) 

LOGHOST가 정의된 경우(즉, 이 syslog는 LOGHOST인 경우) 로그/메시지를 /var/log/authlog로 보내고, 그렇지 않으면 @loghost로 전송합니다.

ifdef의 경우 LOGHOST에 따르면 필요하지 않습니다.이 페이지/etc/hosts 파일에서 가져온 시스템 이름입니다(또는 테스트용 DNS일 수도 있음).

/etc/hosts(./inet/hosts)를 편집하고 로그 호스트의 IP 주소를 정의하는 하나 이상의 행을 추가합니다(이름은 임의적입니다. 여러 원격 호스트가 정의된 경우 원하는 이름을 사용할 수 있습니다).

관련 정보