• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • BIND9詳解之日志篇

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    前幾天一直有網友詢問關于DNS的日志問題。今天我剛好有空,整理了一下分享給大家:D 在默認情況下,BIND把日志消息寫到/var/log/messages文件中,而這些日志消息是非常少的,主要就是啟動,關閉的日志記錄和一些嚴重錯誤的消息,所以要詳細記錄服務器的運行狀

    前幾天一直有網友詢問關于DNS的日志問題。今天我剛好有空,整理了一下分享給大家 :D 

    在默認情況下,BIND把日志消息寫到/var/log/messages文件中,而這些日志消息是非常少的,主要就是啟動,關閉的日志記錄和一些嚴重錯誤的消息,所以要詳細記錄服務器的運行狀況,需要自己配置服務器的日志行為。也就是要在配置文件named.conf中使用logging語句來定制自己所需要的日志記錄,logging語句的語法為:
    [code:1:8494ad473d]logging {
             channel <string> {
                    file <logfile>;
                     syslog <optional_facility>;
                    null;
                    stderr;
                     severity <logseverity>;
                     print-time <boolean>;
                     print-severity <boolean>;
                     print-category <boolean>;
            };
            category <string> { <string>; ... };
    };[/code:1:8494ad473d]
    在日志中主要有兩個概念:通道(channel)和類別(category)。通道指定了應該向哪里發送日志數據:是發送給syslog,還是寫在一個文件里,或是發送給named的標準錯誤輸出,還是發送到位存儲桶(bit bucket)。類別則規定了哪些數據需要記錄。下面我們主要介紹一下文件通道和類別。

    在定義通道的語句中,severity是指定記錄消息的級別。在bind中主要有以下幾個級別(按照嚴重性遞減的順序):

    critical
    error
    warning
    notice
    info
    debug [ level ]
    dynamic

    定義了某個級別后,系統會記錄包括該級別以及比該級別更嚴重的級別的所有消息。比如定義級別為error,則會記錄critical和error兩個級別的信息。一般情況下,我們記錄到info級別就可以了。print-time是設定在日志中是否需要寫入時間,print-severity是設定在日志中是否需要寫入消息級別,print-category是設定在日志中是否需要寫入日志類別。

    category語句是指定哪一種類別的數據使用哪個或者哪幾個已經定義了的通道。在bind9中類別有:

    default
    default類別匹配所有未明確指定通道的類別,但是不匹配不屬于任何類別的消息。這些不屬于任何類別的消息屬于下面列出的這些類別。
    general
    包括所有未明確分類的BIND消息。
    client
    處理客戶端請求。
    config
    配置文件分析和處理。
    database
    同BIND內部數據庫相關的消息,用來存儲區數據和緩存記錄。
    dnssec
    處理DNSSEC簽名的響應。
    lame-servers
    發現錯誤授權。
    network
    網絡操作
    notify
    異步區變動通知。
    queries
    查詢日志
    resolver
    名字解析,包括對來自解析器的遞歸查詢的處理。
    security
    認可/非認可的請求。
    update
    動態更新事件。
    xfer-in
    從遠程名字服務器到本地名字服務器的區傳送。
    xfer-out
    從本地名字服務器到遠程名字服務器的區傳送。

    例如要記錄queries消息,就可以如下配置(把以下語句添加到named.conf中就可以了):
    [code:1:8494ad473d]      logging {
                  channel query_log {
                          file "query.log" versions 3 size 20m;
                          severity info;
                          print-time yes;
                          print-category  yes;
                  };
                  category queries {
                          query_log;
                  };
          };[/code:1:8494ad473d]
    這樣服務器會在工作目錄(directory語句所指定的目錄,通常為:/var/named)下創建query.log這個文件,并把運行過程產生的queries消息寫如到query.log文件中,如下:

    Nov   28  16:04:55.516  queries: client 192.168.0.113#32770: query: dns.andy.com IN A

    另外解釋一下“[color=blue:8494ad473d]file "query.log" versions 3 size 20m;[/color:8494ad473d]”語句中“version”和“size”的意義:

    version是指定允許同時存在多少個版本的該文件,比如指定3個版本(version 3),bind9會保存query.log、query.log0、query.log1和query.log2。

    Size是指定文件大小的上限,如果只設定了size而沒有設定version的話,當文件達到指定的文件大小上限時,服務器停止寫入該文件。如果設定了version的話,服務器會進行循環,比如把query.log變成query.log1,query.log1變成query.log2等,然后建立一個新的query.log進行寫入。

     白雪茫茫 回復于:2003-12-01 12:14:41
    good

     阿驍 回復于:2003-12-04 09:01:18
    簡單明了! 頂一下!

     sunnycn 回復于:2005-05-11 14:26:38
    我按照上面的要求寫了,文件是產生了。但是,里面沒有日志。什么原因呢。謝謝!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>