2012-06-22 6 views
31

명명 된 서비스에 대한 전체 수준의 로그를 활성화하는 데 도움이되는 named.conf에서 완벽한 로깅 절을 찾으려고합니다. 누군가 여기서 예를들 수 있습니까? 현재 조항이 아래에 나와 있지만 매우 최소한의 로그 만 생성됩니다. 또는 추가 "에 querylog rndc"명명 된/바인드/DNS 전체 로깅을 활성화하는 방법은 무엇입니까?

logging { 
    channel querylog{ 
      file "/var/log/querylog"; 
      severity debug 10; 
      print-category yes; 
      print-time yes; 
      print-severity yes; 
      }; 
    category queries { querylog;}; 
}; 

답변

66

나는 일반적으로 각 로그를 자체 채널로 확장 한 다음 별도의 로그 파일로 확장하므로 특정 문제를 디버깅 할 때 문제가 쉽게 발생합니다. 그래서 내 로깅 섹션은 다음과 같습니다

logging { 
    channel default_file { 
     file "/var/log/named/default.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel general_file { 
     file "/var/log/named/general.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel database_file { 
     file "/var/log/named/database.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel security_file { 
     file "/var/log/named/security.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel config_file { 
     file "/var/log/named/config.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel resolver_file { 
     file "/var/log/named/resolver.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-in_file { 
     file "/var/log/named/xfer-in.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel xfer-out_file { 
     file "/var/log/named/xfer-out.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel notify_file { 
     file "/var/log/named/notify.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel client_file { 
     file "/var/log/named/client.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel unmatched_file { 
     file "/var/log/named/unmatched.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel queries_file { 
     file "/var/log/named/queries.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel network_file { 
     file "/var/log/named/network.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel update_file { 
     file "/var/log/named/update.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dispatch_file { 
     file "/var/log/named/dispatch.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel dnssec_file { 
     file "/var/log/named/dnssec.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 
    channel lame-servers_file { 
     file "/var/log/named/lame-servers.log" versions 3 size 5m; 
     severity dynamic; 
     print-time yes; 
    }; 

    category default { default_file; }; 
    category general { general_file; }; 
    category database { database_file; }; 
    category security { security_file; }; 
    category config { config_file; }; 
    category resolver { resolver_file; }; 
    category xfer-in { xfer-in_file; }; 
    category xfer-out { xfer-out_file; }; 
    category notify { notify_file; }; 
    category client { client_file; }; 
    category unmatched { unmatched_file; }; 
    category queries { queries_file; }; 
    category network { network_file; }; 
    category update { update_file; }; 
    category dispatch { dispatch_file; }; 
    category dnssec { dnssec_file; }; 
    category lame-servers { lame-servers_file; }; 
}; 

희망이 도움이됩니다.

+0

정보를 제공해 주셔서 감사합니다. 하지만 여기서 문제는 각 도메인에 대해 단일 폴더 내에서 영역 파일이 반복되는 것입니다. example.com을 위해, 나는 약 6 개의 하위 영역 파일을 마스터 영역 파일 내에서 INCLUDE 절을 사용합니다. 쿼리에서 정보를 추출하는 특정 영역 파일을 알고 싶습니다. 내 바인드에 로그 절을 추가했습니다. 확인하고 도움이되는지 알려줍니다. 당신의 도움을 주셔서 감사합니다. – deppfx

+2

실제로 가능한지는 의심 스럽지만 표준 로깅을 사용하면 세부 정보 수준을 얻을 수 없습니다. BIND는 시작할 때 영역 파일을 메모리에로드하므로 파일을 시작한 후에는 파일 자체가 의미가 없으므로 하나의 완전한 영역 일뿐입니다. BIND에서 디버그 모드를 사용하면 추가 수준의 세부 정보를 얻을 수 있지만 막대한 양의 로깅이 생성되어 DNS 서버의 성능에 영향을 미칩니다. –

+0

왜 파일을 개별 파일로 로깅하는 것이 디버깅에 더 좋다고 생각하십니까? 또한 서버가 바쁠 때 대부분의 채널에서 쓸모없는 로그 메시지를주의하십시오. – alexsergeyev

12

실행 명령 "querylog 예;" named.conf에 "options {};" 섹션을 클릭하여 해당 채널을 활성화하십시오.

또한 바인드가 chroot 인 경우 올바른 디렉토리를 검사하고 있는지 확인하십시오.

+0

나는 centos7에 BIND 9.9.4가있다. 나는 "querylog on"을 추가하려고한다. 옵션 섹션에 있지만 이름은 다시 시작되지 않습니다. 저널에서 나는 /etc/named.conf30 : boolean 값이 'on'' 근처에 올 것이라고 생각했다. – DeamonMV

+0

나는 그것이 querylog일지도 모른다라고 생각한다. config 파일에서 rndc param과 config 옵션을 혼동했을 수도 있습니다. – alexsergeyev