當使用 記錄BIND
請求時rndc querylog
,日誌記錄預設為/var/log/messages
.是否可以更改此日誌記錄目標並指定我自己的日誌檔案?
答案1
在named.conf 的手冊頁中,有一個關於日誌記錄的部分。
只要確保您的 DNS 服務使用 chroot,您的日誌目標就可以正確解釋。
具體來說,文法圖如下:
logging { channel string { file log_file; syslog optional_facility; null; stderr; severity log_severity; print-time boolean; print-severity boolean; print-category boolean; }; category string { string; ... }; };
答案2
是的!如果您不希望將其出現在系統日誌訊息檔案中,您可以定義查詢日誌通道並將該輸出導向至您選擇的特定日誌檔案目標。
channel queries_log {
file "/var/named/log/queries" versions 600 size 20m;
print-time yes;
print-category yes;
print-severity yes;
severity info;
category queries { queries_log; };
請記住,您可以根據偵錯問題的需要使用 rndc 啟用和停用查詢日誌記錄。當操作正常時,這將幫助您節省一些 CPU 週期和磁碟 I/O。調整我發布的範例,這樣您的檔案系統上就不會出現 600 個帶有記錄查詢的 20MB 檔案。
作為實務問題,請嘗試為日誌設定專用的分割區和檔案系統,以便填入它不會對其他系統操作產生負面影響。即把 /var/log 放在它自己的分區/片上。最糟糕的情況是,如果填滿,您可能會丟失一些日誌數據,但係統功能可以繼續。