日志記錄對於任何一個服務器來說都是至關重要的對於IIS服務器也不例外在Windows操作系統中相比來說對於IIS日志記錄來說有了很大的改進不僅僅是日志的格式還是其他的一些可選項上操作系統管理員有了更多的選擇如下圖所示就是IIS日志記錄配置管理的基本頁面
Windows上啟用IIS日志記錄 >
在Windows操作系統中IIS日志記錄應該視為ISS所必需的而不是可選的組件這主要是因為日志文件對於管理IIS服務器來說具有很關鍵的作用如在這個IIS服務器在受到安全威脅的情況下可以利用日志文件並對其中包含的內在細節執行排疑式審查如到IIS服務器發生故障後也可以利用這個日志文件中所記錄的信息來檢查維護過程並識別系統中的問題筆者這裡就給大家介紹一下Windows操作系統中IIS日志記錄相比Windows操作系統的一些新特性並幫助大家部署一種得心應手的日志管理模式
一選擇合適的日志記錄級別
在IIS版本中系統管理員可以根據自己的需要選擇合適的日志記錄級別如可以在服務器級別上進行日志記錄管理也可以在網站WEB應用程序文件或者目錄級別上實現它具體要在那個級別上實現主要看系統管理員的需要不過需要注意的是其實現級別的不同所支持的日志文件格式也是不同的如在服務器級別實現的話其支持的日志格式就只有兩種分別為WC格式與二進制格式而如果選擇網站級別上實現日志管理的話則其支持的日志格式有三種分別為IISNCSAWC格式而且系統管理員如果覺得這些格式還不滿足的話可以通過自定義的方式來自定義自己需要的格式所以在選擇日志記錄級別的時候除了需要考慮在什麼級別上進行日志管理比較方便與安全同時還需要結合自己喜歡的日志格式筆者個人喜歡在網站級別上對日志進行管理因為在一台服務器上如果只部署IIS服務的話可能比較浪費也就是說在同一台服務器上可能有多個應用服務為了跟其他應用服務與服務器操作系統的日志區分開來筆者就建議大家在網站級別上進行管理當然在哪個級別上進行日志管理對於日志的內容沒有實際性的差異主要是看服務器的部署以及系統管理員的工作習慣而定
二為日志記錄選擇合適的格式
如果選擇網站級別來管理日志的話這個日志的格式有多種選擇最重要的是系統管理員可以選擇IIS的日志記錄格式這個IIS日志記錄格式是基於文本的日志記錄跟WC日志記錄格式類似都是通過HTTPSYS來控制的不過這個IIS日志記錄格式是一個核心模式過程而以前的日志記錄都是通過用戶模式來管理的兩者之間有比較大的變化超文本傳輸協議偵聽程序被實現為名為 HTTPSYS的內核模式設備驅動程序HTTPSYS 是 Windows 網絡子系統的一個重要組成部分在以前的版本中當在 IIS 中創建網站時使用 HTTPSYS注冊站點然後HTTPSYS將 Web 請求傳送到正在運行網站的用戶模式進程中同時HTTPSYS也將響應送回客戶端除了從其內部緩存中檢索存儲的響應以外HTTPSYS並不處理它所接收到的請求因此應用程序特定代碼永遠不會加載到內核模式中但是有些系統管理員希望HTTPSYS能夠以核心模式運行此時就需要采用IIS日志格式另外IIS是基於文本的日志記錄跟二進制格式的日志記錄不同直接可以通過文本浏覽器等工具來查看日志信息所以閱讀起來也更加的方便
當然日志文件的格式不同其所存儲的內容都是相同的所以日志文件的格式並不會影響日志的實際管理價值不過為了日後管理維護的方便筆者建立系統管理員最好還是根據自己的工作習慣來選擇合適的日志格式
三選擇合適的編碼格式
一般情況下IIS日志文件的編碼格式有兩種分別為UTF與ANSI兩種格式在所有的字符集中雖然ANSI比較有名但是這個編碼格式可以說是專門為英文所設計的用來存儲其他的語言時會出現亂碼的情況如對於漢語就支持的不是很好為了解決這個問題特意提出了一種新的編碼格式即UTF這是一種UNICODEd 一種變長字符編碼如果UNICODE字符由個字節表示則編碼成UTF很可能需要個字節而如果UNICODE字符由個字節表示則編碼成UTF可能需要個字節UTF編碼可以通過屏蔽位和移位操作快速讀寫字符串比較時strcmp()和wcscmp()的返回結果相同因此使排序變得更加容易字節FF和FE在UTF編碼中永遠不會出現因此他們可以用來表明UTF或UTF文本 UTF 是字節順序無關的它的字節順序在所有系統中都是一樣的
這些字符集的格式對於某些系統管理員來說可能有點深奧其實系統管理員也不需要了解的這麼清楚只需要明白一個原則即如果日志中顯示的如果都是英文的話那麼采用ANSI編碼格式也不會有問題但是如果日志中還會存在其他語言的話則可能會出現亂碼為此筆者建議還是采用UTF的編碼格式為好畢竟其對於英文的支持力度也是很好的為此還不如一勞永逸的將其設置為UTF格式為好免得以後再日志閱讀中遇到亂碼的煩惱
四選擇合適的日志文件滾動更新機制
如果將IIS的日志記錄都保存在一個文件中顯然文件會很長到時候查看記錄的時候會很麻煩為此最好能夠將日志文件進行分割分割成一個個小文件這方便與後續的查詢與閱讀在Windows操作系統的IIS日志中提供了很多的日志文件滾動更新的方法如可以根據時間來創建新的日志文件如可以按天按周或者按月來實現日志文件的滾動更新一般情況下按月來更新即可如果IIS服務器訪問比較頻繁也可以適當縮短這個日志文件滾動更新的時間間隔如可以將時間間隔調整為一周或者一天等等這個時間間隔到底多少為好主要是看其記錄的數量如果日志記錄數量多的話那麼可以適當縮短時間相反如果日志記錄數量不是很多的話則可以以月為單位建立新的日志文件
除了可以根據時間來建立新的日志文件之外還可以根據日志文件的大小來創建新的日志文件在IIS日志管理器中可以選擇最大文件大小然後輸入一個合適的尺寸如此的話當這個日志文件達到指定的大小之後系統就會自動對其進行日志切換不過筆者並不贊同采用這種方法雖然其可以將重做日志文件控制在一個合理的大小內但是其會打破其內在的時間聯系到時候在遇到問題時查詢起來會非常的不方便故筆者還是建立按時間來對重做日志文件進行分割
另外管理器還提供另一個有用的選項即是否要將本地時間用戶文件命名與翻滾這是一個很有用途的選項選中這個選項後在系統自動建立的日志文件中就會反映這個時間信息這對於系統管理員來查找日志文件能夠提供很大的幫助特別是如果按文件大小來分割重做日志文件的話一定要選中這個選項以方便後續的查找
From:http://tw.wingwit.com/Article/os/xtgl/201311/9565.html