分享方式:


設定監控功能

本節說明可用來為 Microsoft AppFabric 1.1 for Windows Server 中的 WCF 與 WF 服務設定監控功能的工具、Cmdlet 與設定。

組態設定

監控 WCF 與 WF 服務之前,您必須先設定並啟用監控功能。組態設定程序可以是簡單地初始化資料庫並啟用預設的「健康情況監控」組態,或者您也可以根據特定需求來自訂監控功能。AppFabric 提供數個預先定義的組態,可支援常見監控案例。

AppFabric 中可設定的 WCF 與 WF 服務監控設定包括:

組態元素 描述

連接字串

決定用於儲存監控事件的伺服器與資料庫。您必須先建立並初始化監控資料庫,才能為 WCF 與 WF 服務啟用監控功能。

警告

連接字串的預設 ADO.NET 逾時為 15 秒。如果儀表板查詢所花的時間超過該值,查詢將會逾時,而且不會傳回資料。AppFabric 設定精靈所提供的連線字串不包含逾時設定。因此,如果儀表板查詢所花的時間超過預設的 ADO.NET 逾時,您必須手動新增逾時值到組態檔。如需詳細資訊,請參閱 SqlCommand.CommandTimeout 屬性。

監控等級

設定「事件收集」服務與追蹤設定檔,以收集指定之監控案例的預先定義事件集。必須啟用監控功能,而且等級至少必須是「健康情況監控」,「儀表板」才會顯示「WCF 呼叫歷程記錄」與「WF 執行個體歷程記錄」衡量標準。

注意

若要在 [儀表板] 上顯示「WF 執行個體」(持續性服務執行個體) 衡量標準,您也必須啟用工作流程持續性。如需詳細資訊,請參閱設定工作流程持續性

追蹤設定檔

決定將產生哪些工作流程事件,然後將事件儲存至監控資料庫。預設等級是「健康情況監控設定檔」,它也是在 [儀表板] 填入衡量標準所需的最低等級。您只能在服務範圍等級編輯或調整追蹤設定檔。

診斷追蹤與訊息記錄

讓 WCF 和 WF 服務的診斷和訊息記錄追蹤能夠儲存到檔案。診斷追蹤和訊息記錄支援有助於找出 WCF 及 WF 服務中的問題。它不適用於日常健康情況監控。

「事件收集」服務設定

決定「事件收集」服務執行個體的基礎行為與設定。這些是進階設定,而且大部分的使用者將不需要修改預設值。

您可以在服務等級設定 WCF 與 WF 服務的監控功能,而且可以從較高的等級繼承組態。在指定伺服器上執行之 WCF 與 WF 服務的預設監控組態是由伺服器根 Web.config 檔案中儲存的設定所決定。您可以在網站、應用程式或服務等級設定監控功能,以覆寫伺服器設定。所有監控組態都會儲存在 IIS 7.0 組態階層的 Web.config 檔案中。如需在 AppFabric 中使用 Web.config 檔案的詳細討論,請參閱AppFabric 中的設定程序一般組態

組態工具

AppFabric 提供各種組態工具,可提供設定與組態支援。AppFabric 中的「IIS 管理員」延伸模組提供可讓您啟用監控功能、設定監控等級、選擇追蹤設定檔以及設定 System.Diagnostics 訊息記錄與追蹤功能的對話方塊。這些工具都會呼叫 AppFabric Cmdlet 以變更組態檔。這樣可讓您只要使用 Windows PowerShell 主控台 (命令列),就可以自動化監控組態或管理監控組態。除了「IIS 管理員」之外,還有一些工具可協助您安裝 AppFabric 與進行組態設定。如需詳細資訊,請參閱安裝精靈 UI 參考 and Dublin 設定精靈 UI 參考。

若要設定大部分的監控設定,您必須以 AS_Administrators 群組的成員帳戶登入。此帳戶必須有適當的權限可修改您將管理之監控組態所在等級 (範圍) 的 Web.config 檔案。您可以限制對於 Web.config 檔案的存取權,以便使用者只能在指定等級或針對特定應用程式修改監控組態。

設定監控功能的檢查清單

若監控資料並未顯示在「AppFabric 儀表板」,請透過下列步驟檢查:

  • 確定「事件收集」服務正在執行,而且它有權限可以讀取要監控之應用程式的 Web.config 檔案。這是 Windows 之「服務」主控台中的「AppFabric 事件收集服務」。

  • 若使用 SQL Server Express 以外的 SQL Server 版本來存放監控資料庫,請嘗試重新啟動「SQL Server Agent 服務」。確定重新啟動之後該服務是執行中狀態。

  • 在伺服器、網站、應用程式與服務等級的 WCF 與 WF 設定對話方塊中,按一下 [監控] 索引標籤。確定已設定下列項目:

    • 已選取 [應用程式監控 (資料庫型)] 區段中的 [將事件寫入至資料庫] 核取方塊。在服務等級,您將無法選取此核取方塊,但若您啟用 [資料庫事件收集],該核取方塊就會出現。

    • [監控等級] 是設定為 [關閉] 以外的設定。

    • 具有連線到有效監控資料庫的有效連接字串。

  • 若上述動作沒有幫助,請使用「事件檢視器」(eventvwr.exe) 執行額外的診斷。在「事件檢視器」中,檢查 [應用程式及服務記錄檔 -> Microsoft ->Windows -> 應用程式伺服器-系統服務\管理] 與 [應用程式及服務記錄檔 -> Microsoft ->Windows -> 應用程式伺服器-系統服務\偵錯] 記錄檔。確定針對問題進行疑難排解時這些記錄檔已啟用。

若這些快速檢查無法讓監控資料顯示在「AppFabric 儀表板」,您將必須深入檢查監控資料庫。如果您使用 SQL Server 作為監控資料庫,以下是可協助您進一步檢查為何資料未顯示的建議:

  • 檢查資料庫中的 ASStagingTable 資料表與 ASWcfEvents 檢視。若在 ASStagingTable 資料表中看到資料列,但未在 ASWcfEvents 檢視中看到資料列,則表示可能有下列問題。當系統正常運作時,WCF 事件會從 ASStagingTable 資料表移至 ASWcfEvents 檢視。對於 SQL Express,此動作是使用 SQL Broker 完成。請確定 Broker 已啟用。對於其他 SQL Server 產品,SQL Agent 負責移動事件,因此請確定 SQL Agent 是執行中狀態。

  • 檢查 ASStagingTable 資料表是否包含一些未處理的事件。如果有,請手動執行 ASImportEvents 預存程序,以在「AppFabric 儀表板」中填入那些事件。在 SQL Express 中,是使用 Service Broker 工作來定期執行此預存程序。在下一個步驟中,我們將判斷它是否遇到任何錯誤。

  • 開啟 Microsoft SQL Server Management Studio。尋找監控料庫,在 [內容] 上按一下滑鼠右鍵並選擇 [選項],然後檢查 Service Broker 是否已啟用。若已啟用,則 [Broker 已啟用] 會設定為 True。若未啟用,請將它啟用。

  • 在監控資料庫中,檢查 ASJobsTable 資料表,查看上次執行的 ASImportEvents 工作是否成功。這樣或許可為您提供為何事件仍存在於 ASStagingTable 資料表的線索。若上次執行失敗,很可能是因為初始化資料庫時發生權限問題。此案例通常是因為您在已登入網域的情況下建立監控資料庫與結構描述,然後在與網域中斷連線的情況下執行工作以從臨時資料表移動資料。Service Broker 工作是以初始化資料庫時登入之使用者的身分識別執行。若您的案例需要連線到網域/與網域中斷連線,我們建議您以本機系統管理使用者的身分來初始化資料庫。

本節內容

另請參閱

概念

監控應用程式
一般組態

  2012-03-05