BIND9詳解之日誌篇(轉)
BIND9詳解之日誌篇(轉)[@more@]前幾天一直有網友詢問關於DNS的日誌問題。今天我剛好有空,整理了一下分享給大家 icon_biggrin.gif在預設情況下,BIND把日誌訊息寫到/var/log/messages檔案中,而這些日誌訊息是非常少的,主要就是啟動,關閉的日誌記錄和一些嚴重錯誤的訊息,所以要詳細記錄伺服器的執行狀況,需要自己配置伺服器的日誌行為。也就是要在配置檔案named.conf中使用logging語句來定製自己所需要的日誌記錄,logging語句的語法為:程式碼:logging {channel {file ;syslog ;null;stderr;severity ;print-time ;print-severity ;print-category ;};category { ; ... };};在日誌中主要有兩個概念:通道(channel)和類別(category)。通道指定了應該向哪裡傳送日誌資料:是傳送給syslog,還是寫在一個檔案裡,或是傳送給named的標準錯誤輸出,還是傳送到位儲存桶(bit bucket)。類別則規定了哪些資料需要記錄。下面我們主要介紹一下檔案通道和類別。在定義通道的語句中,severity是指定記錄訊息的級別。在bind中主要有以下幾個級別(按照嚴重性遞減的順序):criticalerrorwarningnoticeinfodebug [ level ]dynamic定義了某個級別後,系統會記錄包括該級別以及比該級別更嚴重的級別的所有訊息。比如定義級別為error,則會記錄critical和error 兩個級別的資訊。一般情況下,我們記錄到info級別就可以了。print-time是設定在日誌中是否需要寫入時間,print-severity是設定在日誌中是否需要寫入訊息級別,print-category是設定在日誌中是否需要寫入日誌類別。category語句是指定哪一種類別的資料使用哪個或者哪幾個已經定義了的通道。在bind9中類別有:defaultdefault類別匹配所有未明確指定通道的類別,但是不匹配不屬於任何類別的訊息。這些不屬於任何類別的訊息屬於下面列出的這些類別。general包括所有未明確分類的BIND訊息。client處理客戶端請求。config配置檔案分析和處理。database同BIND內部資料庫相關的訊息,用來儲存區資料和快取記錄。dnssec處理DNSSEC簽名的響應。lame-servers發現錯誤授權。network網路操作notify非同步區變動通知。queries查詢日誌resolver名字解析,包括對來自解析器的遞迴查詢的處理。security認可/非認可的請求。update動態更新事件。xfer-in從遠端名字伺服器到本地名字伺服器的區傳送。xfer-out從本地名字伺服器到遠端名字伺服器的區傳送。例如要記錄queries訊息,就可以如下配置(把以下語句新增到named.conf中就可以了):程式碼:logging {channel query_log {file "query.log" versions 3 size 20m;severity info;print-time yes;print-category yes;};category queries {query_log;};};這樣伺服器會在工作目錄(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另外解釋一下“file "query.log" versions 3 size 20m;”語句中“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進行寫入。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945035/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux之日誌管理Linux
- SpringBoot之日誌註解和快取優化Spring Boot快取優化
- Mariadb之日誌相關配置
- Mybatis深入解析之日誌配置MyBatis
- Kubernetes之日誌和監控(十五)
- MySQL學習之日誌系統MySql
- 2-django進階之日誌功能Django
- 日誌分析平臺ELK之日誌收集器logstash
- 日誌分析平臺ELK之日誌收集器filebeat
- kafka原始碼剖析(三)之日誌管理-LogManagerKafka原始碼
- 程式設計入門之日誌聚合系統程式設計
- ASP.NET Core擴充套件庫之日誌ASP.NET套件
- 基於.NetCore3.1系列 —— 日誌記錄之日誌配置揭祕NetCore
- 跟我一起學.NetCore之日誌(Log)模型核心NetCore模型
- 超實用的SpringAOP實戰之日誌記錄Spring
- 【TUNE_ORACLE】等待事件之日誌等待“log file sync”Oracle事件
- JVM GC 日誌詳解JVMGC
- Nginx日誌配置詳解Nginx
- 日誌分析平臺ELK之日誌收集器logstash常用外掛配置
- iOS開源專案之日誌框架CocoaLumberjack(未整理版)iOS框架
- 甲方安全建設之日誌採集實操乾貨
- 【TUNE_ORACLE】等待事件之日誌等待“log file parallel write”Oracle事件Parallel
- 基於.NetCore3.1系列 —— 日誌記錄之日誌核心要素揭祕NetCore
- Java日誌框架:logback詳解Java框架
- Kubernetes叢集日誌詳解
- 【Gin-API系列】Gin中介軟體之日誌模組(四)API
- ISC BIND9 - 最詳細、最認真的從零開始的BIND 9 服務講解
- mysql的日誌檔案詳解MySql
- Git reflog 引用日誌使用詳解Git
- ELK日誌分析系統詳解
- mysql檢視binlog日誌詳解MySql
- SVN命令詳解【轉】
- vi命令詳解(轉)
- [轉]GitFlow詳解教程Git
- js中console日誌詳解 | console groupJS
- python之logging日誌模組詳解Python
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- Java反射詳解篇--一篇入魂Java反射
- 玩轉 JavaScript 之詳解 thisJavaScript