領先一步
VMware 提供培訓和認證,以加速您的進展。
了解更多自 SpringSource 與 Hyperic 合作將我們的應用程式管理套件 (AMS) 產品推向市場以來,已經過了忙碌的幾個月。我很高興地宣布 SpringSource AMS 測試版現已開放給所有人使用。請花一點時間評估軟體,並在測試版論壇上發表您的想法。我們致力於為 Spring 驅動的應用程式提供最佳的應用程式管理體驗,非常感謝您的回饋!
那些在 12 月的 Spring Experience 中表達對 SpringSource AMS 感興趣的人員,都收到了一封電子郵件,宣布測試版發布。以下是該電子郵件的摘錄,介紹了 SpringSource AMS 並概述了其一些額外功能
SpringSource 應用程式管理套件 (AMS) 是一款全面的企業應用程式管理工具。它旨在管理和監控您的所有 Spring 驅動的應用程式、Spring 執行環境,以及各種平台和應用程式伺服器。SpringSource AMS 建構於 Hyperic 的 HQ 企業版之上,這是一個經過驗證的系統和應用程式管理解決方案。SpringSource AMS 的其他功能包括:- 自動探索部署時的 Spring 驅動的應用程式 - 自動監控在您的應用程式中運行的各種 Spring、第三方和定型組件。SpringSource AMS 檢測 Spring Framework 中的各種組件。只需將檢測過的 jar 檔案放入您的應用程式中,SpringSource AMS 就會開始監控您的應用程式,並透過 JMX 公開統計資訊。無需額外的配置步驟!- 自動監控 Spring 執行環境的組件,包括應用程式上下文和 Bean 工廠
在本部落格中,我將更詳細地解釋這些功能,討論其背後的技術,並向您展示如何使用 SpringSource AMS 來監控您的應用程式。
應用程式自動探索 SpringSource AMS 會在部署時自動探索您的 Web 和獨立應用程式。它會評估透過 ApplicationContext 建立的每個 Bean。如果它知道如何管理和監控該 Bean,它會將該 Bean 作為受管理資源匯出。此外,有些組件(例如 DispatcherServlet)即使在 ApplicationContext 之外建立,SpringSource AMS 也能透過使用 AspectJ 切面來建議建立,進而探索到這些組件。完整的受管理 Spring Framework 組件列表可以在 AMS 產品文件中找到。
SpringSource AMS 會為您的應用程式及其包含的 ManagedResources 建模。每個 ManagedResource 都有一組固定的屬性、控制操作和指標。這產生了一個簡單、一致的庫存模型,用於描述您的整個應用程式。此模型會自動匯出到 JMX ModelMBeans。這些 MBean 可以隨後由任何 JMX 用戶端存取,包括 SpringSource AMS 代理程式,代理程式會從您的 Spring 驅動的應用程式中檢索資料,以便在 SpringSource AMS 儀表板上顯示。
SpringSource AMS 儀表板目前顯示部署在 Tomcat、WebLogic 和 WebSphere 伺服器以及獨立應用程式中的 Spring 受管理資源。JBoss 伺服器的 Spring 受管理資源顯示計畫在 SpringSource AMS 的最終 1.0 版本中推出。如果您使用的是不同的伺服器,並且將單一應用程式部署到該伺服器,則可能仍然可以在儀表板中查看您的服務,方法是在伺服器啟動時包含 "spring.managed.application.name" 系統屬性,這將導致探索到一個名為 "Spring Application" 的伺服器。如果您希望在未來看到對其他伺服器的支援,請在測試版論壇上告訴我們。
監控 SpringSource AMS 大部分的操作監控都使用AspectJ 切面,這些切面在編譯時織入,以建議受監控的方法。這會為您的方法執行增加非常輕微的負擔(在大多數情況下,僅僅是方法執行前後取得快速時間戳記所需的時間)。跨給定方法的多次執行彙總指標資料(例如吞吐量和平均執行時間)是非同步完成的。
SpringSource AMS 也能夠監控您的一些定型組件 - 那些標記為 @Controller、@Repository、@Transactional、@Component 和 @Service 的組件。在探索到這些組件後,SpringSource AMS 會將它們包裝在 Spring AOP 代理程式中(或將 MethodInterceptor 新增到現有的代理程式中)。此代理程式用於收集您組件每個方法的執行時間(以毫秒為單位)。然後,每個方法的平均執行時間將透過匯出到 JMX 的庫存模型提供。
檢測您的 Spring 驅動的應用程式 SpringSource AMS 包含 Spring Framework 2.5.2 的檢測版本,供您的應用程式中使用 (spring-framework-instrumented-management.zip)。Spring Framework 的組件使用程式碼掛鉤和使用 AspectJ 編譯器的編譯時織入相結合的方式進行管理檢測。
若要檢測您的應用程式,只需將您現有的 Spring Framework jar 檔案替換為 spring-framework-instrumented-management.zip 中包含的檢測版本。您還需要將 springsource-ams-instrumentation-agent.zip 中的 jar 檔案新增到您的類別路徑中。有關更多詳細資訊,請參閱 AMS 產品文件中的「使用 AMS 檢測您的應用程式以進行管理」。
如果您在已經公開 JMX MBeanServer 和遠端 JMX 連接器的容器中運行(例如 WebLogic 或 WebSphere),那麼這就是您需要做的全部!Tomcat 使用者可以按照此處概述的方式快速配置 Tomcat 以進行監控。SpringSource AMS 也適用於獨立應用程式,可以透過新增 Tomcat 設定中建議的相同系統屬性,或使用 Spring JMX 類別(例如 MBeanServerFactoryBean 和 ConnectorServerFactoryBean)來啟用 JMX 連線。
如果您正在運行獨立應用程式,則需要包含 "spring.managed.application.name" 系統屬性,以便 SpringSource AMS 知道您的應用程式名稱(範例,-Dspring.managed.application.name=PetClinic)。使用 SpringSource AMS 儀表板 使用 SpringSource AMS 儀表板來全面了解您的應用程式以及它們運行的平台和容器的健康狀況 - 適用於單一節點或跨叢集!只需按照 springsource-ams-installer 發行版中包含的安裝指南中的說明,即可啟動並運行 AMS 伺服器和代理程式。
AMS 代理程式會在啟動時自動探索您的應用程式伺服器或獨立 Spring 驅動的應用程式。您應該在儀表板上的自動探索 Portlet 中看到探索到的伺服器(透過登入 http://server:7080 即可存取),如下圖所示
選取「新增至庫存」按鈕以將伺服器新增至庫存。對於您正在監控的每個伺服器,這都是一次性步驟。
將伺服器新增至庫存後,您可以從導覽選單中選擇「資源->瀏覽」來存取它。在您配置 Tomcat、WebLogic、WebSphere 或 Spring Application 伺服器的連線屬性後,SpringSource AMS 應該會開始探索您的應用程式服務。它們將出現在「資源」檢視的「服務」下,也將出現在伺服器的「監控」和「庫存」標籤中,如下圖所示
服務名稱將包含應用程式名稱,以便於分組。若要將您的服務分組到應用程式中以方便查看,請從導覽選單中選擇「資源->瀏覽」。然後從「工具」選單中選擇「新增應用程式」並建立一個新的應用程式。
從應用程式檢視中,選取「服務」樓層標籤,然後按一下「新增至列表」。然後您應該會看到服務列表。您可以根據應用程式名稱篩選服務,並將它們新增到您的應用程式中,如下所示
您現在可以開始查看指標、定義警示、執行報告等等!請查閱 Beta 版下載中包含的 AMS 文件手冊,以取得所有 AMS 功能的完整指南。並請繼續關注更多部落格文章,這些文章將重點介紹您可以使用 AMS 來預防應用程式停機時間、監控效能、實施服務等級協定等等的方法。
我們需要您的回饋!您希望 SpringSource AMS 自動公開哪些類型的管理資料?您希望在儀表板中看到哪些特定的檢視或報告?您希望產品具備哪些特定功能?作為唯一專注於 Spring 應用程式的應用程式管理解決方案,我們希望使其盡可能強大且易於開發人員和維運人員使用!