摘要:IIS 7 新的日誌報表,資料庫管理,和其他很酷的管理模組
【原文位址】New Log Reporting, Database Management, and other cool admin modules for IIS 7
【原文發表日期】Wednesday, March 26, 2008 1:47 AM
在建造IIS 7時,我們非常注重的一個核心重點是在於促成豐富的 .NET 擴充性模型,以提供開發人員能輕鬆插入和擴充web伺服器的鉤子(hooks,擴充點,插入點的意思)。
這些擴充性鉤子是在web伺服器的管道(pipeline)裡(促成象新的IIS7傳輸率節流器這樣的場景),在配置系統裡(允許開發人員建立新的web.config資料定義設定),在健康監測系統裡(允許開發人員加入自訂的跟蹤事件),以及在管理工具裡(允許開發人員插入新的管理介面模組)提供的。
我們加這些擴充性功能,以便任何人都可以使用.NET來輕鬆地擴充和增強web伺服器的功能。從自私的角度我們也非常想要這些功能,這樣我們可以經常性地發佈功能套件,來往核心web伺服器中添加額外的功能。
IIS 7 管理套件第一個預覽版發佈了
上個星期,IIS開發團隊發佈了一些我認為web開發人員會發現極其有用的,又非常酷的管理模組的第一個技術預覽版。這個預覽版往IIS7管理工具裡添加了幾個功能:
-
資料庫管理員: 內建的SQL伺服器資料庫管理,包括建立,刪除和編輯資料表和索引,建立/編輯預存程式和執行自訂的查詢的能力。因為是與IIS管理工具相整合的,它在HTTP/SSL協定上工作,這意味著你可以使用該模組來遠端管理你的主機應用(即使是低成本的共享主機帳號),而不用在Internet上直接暴露你的資料庫。
-
日誌報表: 內建的報表可視化,提供日誌文件資料的圖表支持。支持全範圍選擇和定製圖表的建立,以及列印或保存報表的能力。跟資料庫管理員一樣,你可以在HTTP/SSL協定上遠端使用這個模組,這意味著在遠端共享主機場景下也能工作。
-
配置編輯器: 這是個強力模組,對在管理工具中編輯所有的web.config 設定提供了完全控制。你可以配置它來跟蹤你用介面做的變動,然後讓它自動生成配置變動腳本,然後你可以將其保存和修改,在以後以自動化的方式重新運行它。
-
請求過濾介面: 這個管理模組提供了對IIS7中新的請求過濾功能更多的控制,參閱Carlos這裡的部落格文章以瞭解如何使用這個模組的細節。
-
.NET 授權: 這個管理模組提供了一個客制的授權規則編輯器,允許你更輕鬆地管理 ASP.NET <authorization> 配置部分。
-
FastCGI 介面: 這個管理模組對編輯新的<fastCGI>所有的設定提供了更多的支持(像在IIS7中將FastCGI模組用於PHP時)。
下面是一些螢幕截圖,以及對日誌報表和資料庫管理員管理介面模組的簡短示範:
日誌報表管理模組
你是否往伺服器上部署過web應用,想知道它得到多大的負載? 伺服器的平均回應時間是多少?或者出現過多少個伺服器錯誤(以及對應這些錯誤的URL)?所有這些設定都被IIS很仔細地記錄在文字日誌文件中了。今天大多數人都使用象IIS日誌分析器(Log Parser)這樣的命令列工具來查詢和分析這些文件。
IIS 7 管理套件以及新的「IIS報表(Reports)」管理模組現在還允許你在IIS管理工具中查詢以及對報表用圖表來顯示:
原裝的「IIS報表」管理模組帶有一堆基於日誌分析器的預制報表,你可以輕鬆地對你的網站和應用運行這些報表:
下面是我們可以調出的一個簡單的圖形報表,查看從我的TestSite應用傳回的HTTP狀態碼(注意我們使用了「條形圖表」可視化選項):
報表也可以使用日期範圍來過濾,你還可以在報表頁上點擊列印或保存按鈕來生成報表的列印版本或本地保存的版本。
IIS7管理工具是個富客戶端應用(使用WinForms建造的),但它使用了連接到遠端web伺服器的基於HTTP的web服務來做所有這些遠端訪問和工作。這意味著它可以通過防火牆,主機供應商不需要在他們的網路上打開終端點就可以允許這個功能。
一旦主機供應商在他們的web伺服器上安裝了IIS 7管理套件之後,使用IIS管理工具(該工具是內建於Vista的,對Windows XP客戶則可以單獨下載)管理他們網站的遠端客戶就會被自動提示是否允許IIS報表管理模組(客戶端模組的安裝是無縫的)。然後,他們就能在他們的管理工具中使用報表模組調出他們遠端網站的報表。
註: 如果他們想要的話,主機供應商也可以禁止這個功能,或者選擇限制或客制提供的報表列表。希望大多數主機供應商會選擇把這作為他們提供的IIS和ASP.NET計劃的一個標準功能。
資料庫管理員模組
你是否部署過應用和資料庫到遠端主機供應商那裡,想對資料庫做個很快的變動(但你的主機供應商卻不支持使用SQL管理工具來訪問)?使用IIS管理工具裡的新「資料庫管理員」模組,你現在可以使用HTTP/SSL,通過web伺服器,遠端訪問你的資料庫,來對它做變動。
只要把你的IIS管理工具連接到你的遠端網站,點擊新的「資料庫管理員」圖案即可:
在預設情形下,資料庫管理員模組會查看你web應用的web.config文件的 <connectionStrings> 部分,允許你輕鬆地訪問你的主機應用所使用的任何資料庫。
例如,下面我的TestSite應用在我的web.config 的<connectionStrings>部分有個「NorthwindConnectionString」設定(所以它會出現在連接節點列表中)。當我點擊它時,我可以查看和編輯我的預存程式和資料表定義(包括索引):
我們可以右擊任何一個資料表,編輯其中的行記錄,或者做客制的SQL查詢,獲取客制的資料集:
比較棒的是,主機供應商可以輕鬆地同時為專門的和共享的主機計劃啟用上面所有的資料庫管理功能(即使在單個伺服器上有成百上千個客戶)。像管理工具中的所有其他模組一樣,富客戶前端和主機供應商處的後端間的通訊都是通過基於HTTP/SSL協定的web服務進行的(意味著它可以穿過防火牆,不要求主機供應商打開任何新的終端點,也不用在Internet上直接暴露SQL伺服器)。
希望這個資料庫管理模組將是所有主機供應商都能啟用的標準功能,這樣以後將會極大地方便遠端主機資料的管理。
結語
隨著時間的遷移,你將看到IIS 7管理套件將發佈越來越多的管理介面模組,以及啟用更多的功能(建造管理工具的開發團隊的主管Carlos一直在通過他的部落格主動地徵詢你想看到的功能的建議),如果你有什麼建議或者想提供一些鼓勵的話,一定要去給他發個評語。
你可以在這裡下載IIS 7管理套件的第一個技術預覽版,以及通過這裡的線上檔案瞭解更多的詳情。上面的模組既可以在Vista SP1的,也可以在Windows Server 2008的IIS7中工作。
希望本文對你有所幫助,
Scott