不僅僅是日志的格式,還是其他的一些可選項(xiàng)上,操作系統(tǒng)管理員有了更多的選擇。如下圖所示,就是IIS日志記錄配置管理的基本頁面。
在Windows7操作系統(tǒng)中,IIS日志記錄應(yīng)該視為ISS所必需的而不是可選的組件。這主要是因?yàn)槿罩疚募?duì)于管理IIS服務(wù)器來說具有很關(guān)鍵的作用。如在這個(gè)IIS服務(wù)器在受到安全威脅的情況下,可以利用日志文件并對(duì)其中包含的內(nèi)在細(xì)節(jié)執(zhí)行排疑式審查。如到IIS服務(wù)器發(fā)生故障后也可以利用這個(gè)日志文件中所記錄的信息來檢查維護(hù)過程并識(shí)別系統(tǒng)中的問題。筆者這里就給大家介紹一下Windows7操作系統(tǒng)中IIS日志記錄相比Windows2003操作系統(tǒng)的一些新特性,并幫助大家部署一種得心應(yīng)手的日志管理模式。
一、選擇合適的日志記錄級(jí)別。
在IIS7.0版本中,系統(tǒng)管理員可以根據(jù)自己的需要選擇合適的日志記錄級(jí)別。如可以在服務(wù)器級(jí)別上進(jìn)行日志記錄管理,也可以在網(wǎng)站、WEB應(yīng)用程序文件或者目錄級(jí)別上實(shí)現(xiàn)它。具體要在那個(gè)級(jí)別上實(shí)現(xiàn),主要看系統(tǒng)管理員的需要。不過需要注意的是,其實(shí)現(xiàn)級(jí)別的不同,所支持的日志文件格式也是不同的。如在“服務(wù)器”級(jí)別實(shí)現(xiàn)的話,其支持的日志格式就只有兩種,分別為“W3C”格式與二進(jìn)制格式。而如果選擇“網(wǎng)站”級(jí)別上實(shí)現(xiàn)日志管理的話,則其支持的日志格式有三種,分別為IIS、NCSA、W3C格式。而且系統(tǒng)管理員如果覺得這些格式還不滿足的話,可以通過“自定義”的方式來自定義自己需要的格式。所以在選擇日志記錄級(jí)別的時(shí)候,除了需要考慮在什么級(jí)別上進(jìn)行日志管理比較方便與安全,同時(shí)還需要結(jié)合自己喜歡的日志格式。筆者個(gè)人喜歡在網(wǎng)站級(jí)別上對(duì)日志進(jìn)行管理。因?yàn)樵谝慌_(tái)服務(wù)器上,如果只部署IIS服務(wù)的話,可能比較浪費(fèi)。也就是說,在同一臺(tái)服務(wù)器上可能有多個(gè)應(yīng)用服務(wù)。為了跟其他應(yīng)用服務(wù)與服務(wù)器操作系統(tǒng)的日志區(qū)分開來,筆者就建議大家在網(wǎng)站級(jí)別上進(jìn)行管理。當(dāng)然,在哪個(gè)級(jí)別上進(jìn)行日志管理,對(duì)于日志的內(nèi)容沒有實(shí)際性的差異。主要是看服務(wù)器的部署以及系統(tǒng)管理員的工作習(xí)慣而定。
二、為日志記錄選擇合適的格式。
如果選擇網(wǎng)站級(jí)別來管理日志的話,這個(gè)日志的格式有多種選擇。最重要的是,系統(tǒng)管理員可以選擇IIS的日志記錄格式。這個(gè)IIS日志記錄格式是基于文本的日志記錄。跟W3C日志記錄格式類似,都是通過HTTP.SYS來控制的。不過這個(gè)IIS日志記錄格式是一個(gè)核心模式過程。而以前的日志記錄都是通過用戶模式來管理的。兩者之間有比較大的變化。超文本傳輸協(xié)議偵聽程序被實(shí)現(xiàn)為名為 HTTP.SYS的內(nèi)核模式設(shè)備驅(qū)動(dòng)程序。HTTP.SYS 是 Windows 網(wǎng)絡(luò)子系統(tǒng)的一個(gè)重要組成部分。在以前的版本中,當(dāng)在 IIS 中創(chuàng)建網(wǎng)站時(shí),使用 HTTP.SYS注冊(cè)站點(diǎn),然后HTTP.SYS將 Web 請(qǐng)求傳送到正在運(yùn)行網(wǎng)站的用戶模式進(jìn)程中。同時(shí)HTTP.SYS也將響應(yīng)送回客戶端。除了從其內(nèi)部緩存中檢索存儲(chǔ)的響應(yīng)以外,HTTP.SYS并不處理它所接收到的請(qǐng)求。因此,應(yīng)用程序特定代碼永遠(yuǎn)不會(huì)加載到內(nèi)核模式中。但是有些系統(tǒng)管理員希望HTTP.SYS能夠以核心模式運(yùn)行。此時(shí)就需要采用IIS日志格式。另外IIS是基于文本的日志記錄,跟二進(jìn)制格式的日志記錄不同,直接可以通過文本瀏覽器等工具來查看日志信息。所以閱讀起來也更加的方便。
當(dāng)然,日志文件的格式不同,其所存儲(chǔ)的內(nèi)容都是相同的。所以日志文件的格式并不會(huì)影響日志的實(shí)際管理價(jià)值。不過為了日后管理維護(hù)的方便,筆者建立系統(tǒng)管理員最好還是根據(jù)自己的工作習(xí)慣來選擇合適的日志格式。
三、選擇合適的編碼格式。
一般情況下,IIS日志文件的編碼格式有兩種,分別為UTF-8與ANSI兩種格式。在所有的字符集中,雖然ANSI比較有名。但是這個(gè)編碼格式可以說是專門為英文所設(shè)計(jì)的。用來存儲(chǔ)其他的語言時(shí)會(huì)出現(xiàn)亂碼的情況。如對(duì)于漢語就支持的不是很好。為了解決這個(gè)問題,特意提出了一種新的編碼格式,即UTF-8。這是一種UNICODEd 一種變長(zhǎng)字符編碼。如果UNICODE字符由2個(gè)字節(jié)表示,則編碼成UTF-8很可能需要3個(gè)字節(jié),而如果UNICODE字符由4個(gè)字節(jié)表示,則編碼成UTF-8可能需要6個(gè)字節(jié)。UTF-8編碼可以通過屏蔽位和移位操作快速讀寫。字符串比較時(shí)strcmp()和wcscmp()的返回結(jié)果相同,因此使排序變得更加容易。字節(jié)FF和FE在UTF-8編碼中永遠(yuǎn)不會(huì)出現(xiàn),因此他們可以用來表明UTF-16或UTF-32文本。 UTF-8 是字節(jié)順序無關(guān)的。它的字節(jié)順序在所有系統(tǒng)中都是一樣的。
這些字符集的格式對(duì)于某些系統(tǒng)管理員來說可能有點(diǎn)深?yuàn)W。其實(shí)系統(tǒng)管理員也不需要了解的這么清楚。只需要明白一個(gè)原則。即如果日志中顯示的如果都是英文的話,那么采用ANSI編碼格式也不會(huì)有問題。但是如果日志中還會(huì)存在其他語言的話,則可能會(huì)出現(xiàn)亂碼。為此筆者建議,還是采用UTF-8的編碼格式為好。畢竟,其對(duì)于英文的支持力度也是很好的。為此還不如一勞永逸的將其設(shè)置為UTF-8格式為好。免得以后再日志閱讀中遇到亂碼的煩惱。
四、選擇合適的日志文件滾動(dòng)更新機(jī)制。
如果將IIS的日志記錄都保存在一個(gè)文件中,顯然文件會(huì)很長(zhǎng)。到時(shí)候,查看記錄的時(shí)候,會(huì)很麻煩。為此最好能夠?qū)⑷罩疚募M(jìn)行分割,分割成一個(gè)個(gè)小文件。這方便與后續(xù)的查詢與閱讀。在Windows7操作系統(tǒng)的IIS日志中,提供了很多的日志文件滾動(dòng)更新的方法。如可以根據(jù)時(shí)間來創(chuàng)建新的日志文件。如可以按天、按周或者按月來實(shí)現(xiàn)日志文件的滾動(dòng)更新。一般情況下,按月來更新即可。如果IIS服務(wù)器訪問比較頻繁,也可以適當(dāng)縮短這個(gè)日志文件滾動(dòng)更新的時(shí)間間隔。如可以將時(shí)間間隔調(diào)整為一周或者一天等等。這個(gè)時(shí)間間隔到底多少為好,主要是看其記錄的數(shù)量。如果日志記錄數(shù)量多的話,那么可以適當(dāng)縮短時(shí)間。相反,如果日志記錄數(shù)量不是很多的話,則可以以月為單位建立新的日志文件。
除了可以根據(jù)時(shí)間來建立新的日志文件之外,還可以根據(jù)日志文件的大小來創(chuàng)建新的日志文件。在IIS日志管理器中可以選擇“最大文件大小”。然后輸入一個(gè)合適的尺寸。如此的話,當(dāng)這個(gè)日志文件達(dá)到指定的大小之后,系統(tǒng)就會(huì)自動(dòng)對(duì)其進(jìn)行日志切換。不過筆者并不贊同采用這種方法。雖然其可以將重做日志文件控制在一個(gè)合理的大小內(nèi),但是其會(huì)打破其內(nèi)在的時(shí)間聯(lián)系。到時(shí)候,在遇到問題時(shí)查詢起來會(huì)非常的不方便。故筆者還是建立按時(shí)間來對(duì)重做日志文件進(jìn)行分割。
另外管理器還提供另一個(gè)有用的選項(xiàng),即是否要將本地時(shí)間用戶文件命名與翻滾。這是一個(gè)很有用途的選項(xiàng)。選中這個(gè)選項(xiàng)后,在系統(tǒng)自動(dòng)建立的日志文件中就會(huì)反映這個(gè)時(shí)間信息。這對(duì)于系統(tǒng)管理員來查找日志文件,能夠提供很大的幫助。特別是如果按文件大小來分割重做日志文件的話,一定要選中這個(gè)選項(xiàng),以方便后續(xù)的查找。