共用方式為


Azure Service Fabric 的監視和診斷最佳做法

不論任何雲端環境,針對工作負載的開發、測試及部署進行監視和診斷都極為重要。 例如,您可以追蹤應用程式被使用的方式、由 Service Fabric 平台所採取的動作、搭配效能計數器的資源使用量,以及叢集的整體健康情況。 您可以使用這些資訊來診斷並修正問題,並防止它們於未來再度發生。

應用程式監視

應用程式監視會追蹤您應用程式的功能與元件使用情況。 監視應用程式,以確定找出影響使用者的問題。 應用程式監視的責任會落在開發應用程式及其服務的使用者身上,因為它會專屬於您應用程式的商務邏輯。 建議您使用 Azure 的應用程式監視工具 Application Insights 設定應用程式監視。

叢集監視

Service Fabric 的其中一個目標是讓應用程式在硬體失敗時能夠復原。 這個目標可以透過 平台的系統服務偵測基礎結構問題,並快速地將工作負載容錯移轉到叢集中的其他節點來達成。 但如果是系統服務本身有問題的話,會發生什麼情況? 或如果在嘗試部署或移動工作負載時違反了設置服務的規則,會發生麼情況? Service Fabric 會提供這些問題和其他問題的診斷,以確保能夠讓您了解 Service Fabric 平台如何與您的應用程式、服務、容器和節點互動。

對於 Windows 叢集,建議設定為使用診斷代理程式Azure 監視器記錄來監視叢集。

對於 Linux 叢集,也建議以 Azure 監視器記錄為工具來監視 Azure 平台和基礎結構。 Linux 平台診斷需要進行 Syslog 中的 Service Fabric Linux 叢集事件中所述的不同設定。

基礎結構監視

建議使用 Azure 監視器記錄來監視叢集層級事件。 在依據先前的連結所述,搭配您的工作區設定 Log Analytics 代理程式之後,您將能夠收集效能計量 (例如 CPU 使用率)、.NET 效能計數器 (例如處理程序層級 CPU 使用率),Service Fabric 效能計數器 (例如可靠服務的例外狀況數目),以及容器計量 (例如 CPU 使用率)。 容器記錄必須寫入 stdout 或 stderr,才會出現在 Azure 監視器記錄中。

監視程式

一般而言,監視程式是一個單獨的服務,可以觀察服務之間的健康情況和負載、偵測端點,並回報叢集中非預期的健康情況事件。 這可以避免在單一服務效能中無法偵測到的錯誤。 監視程式也很適合裝載程式碼,以執行不需要使用者互動的補救動作,例如依特定間隔時間清除儲存體中的記錄檔。 如果想要有完整實作的開放原始碼 SF 監視程式服務,其中包含易於使用的監視程式擴充性模型,而且在 Windows 和 Linux 叢集上執行,請參閱 FabricObserver 專案。 FabricObserver 是生產就緒的軟體。 建議將 FabricObserver 部署到測試和生產叢集,然後透過其外掛程式模型,或派生並撰寫您自己的內建觀察者,加以延伸來滿足您的需求。 前者 (外掛程式) 是建議的方法。

下一步