領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多自從 SpringSource 與 Hyperic 合作將我們的應用管理套件 (AMS) 產品推向市場以來,已經過去了幾個忙碌的月份。我很高興地宣佈,SpringSource AMS 測試版現已向所有人開放。請花點時間評估該軟體,並在測試版論壇上發表您的想法。我們致力於為 Spring 驅動的應用提供最佳的應用管理體驗,非常感謝您的反饋!
去年 12 月在 The Spring Experience 活動中對 SpringSource AMS 表示興趣的人們收到了一封宣佈測試版釋出的電子郵件。以下是該電子郵件的摘錄,介紹了 SpringSource AMS 並概述了它的一些附加功能
SpringSource 應用管理套件 (AMS) 是一款全面的企業應用管理工具。它旨在管理和監控所有 Spring 驅動的應用、Spring 執行時以及各種平臺和應用伺服器。SpringSource AMS 構建在 Hyperic 的 HQ 企業版之上,這是一個經過驗證的系統和應用管理解決方案。SpringSource AMS 的附加功能包括:- 在部署時自動發現 Spring 驅動的應用 - 自動監控應用中執行的各種 Spring、第三方和帶有特定註解(stereotyped)的元件。SpringSource AMS 對 Spring Framework 中的多種元件進行了插樁。只需將經過插樁的 jar 檔案放入您的應用,SpringSource AMS 就會開始監控您的應用並通 JMX 暴露統計資訊。無需額外的配置步驟! - 自動監控 Spring 執行時的元件,包括應用上下文和 bean 工廠
在這篇部落格中,我將更詳細地解釋這些功能,探討它們背後的技術,並向您展示如何使用 SpringSource AMS 來監控您的應用。
應用自動發現 SpringSource AMS 會在部署時自動發現您的 Web 和獨立應用。它會評估透過 ApplicationContext 建立的每個 bean。如果它知道如何管理和監控該 bean,就會將該 bean 匯出為受管資源。此外,SpringSource AMS 還能透過使用 AspectJ 切面來通知建立過程,從而發現一些即使在 ApplicationContext 外部建立的元件(例如 DispatcherServlet)。受管 Spring Framework 元件的完整列表可以在 AMS 產品文件中找到。
SpringSource AMS 對您的應用及其包含的 ManagedResources 進行建模。每個 ManagedResource 都有一組固定的屬性 (Attributes)、控制操作 (Control Operations) 和指標 (Metrics)。這構建了一個簡單、一致的庫存模型,能夠描述您的整個應用。此模型會自動匯出到 JMX ModelMBeans。然後,任何 JMX 客戶端都可以訪問這些 MBeans,包括 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 還能夠監控您的一些帶有特定註解(stereotyped)的元件——那些標記有 @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 應用伺服器配置了連線屬性,SpringSource AMS 應該會開始發現您的應用服務。它們將出現在“資源”檢視的“服務”下,也會出現在伺服器的“監控”和“庫存”標籤頁中,如下圖所示
服務名稱將包含應用名稱,以便於分組。要將您的服務分組到一個應用中以便於檢視,請從導航選單中選擇“資源”->“瀏覽”。然後從“工具”選單中選擇“新建應用”,建立一個新應用。
在應用檢視中,選擇“服務”樓層標籤頁並單擊“新增到列表”。您應該會看到一個服務列表。您可以根據應用名稱過濾服務,並將其新增到您的應用中,如下圖所示
您現在可以開始檢視指標、定義警報、執行報告等等!請查閱測試版下載中包含的 AMS 文件手冊,獲取所有 AMS 功能的全面指南。並請繼續關注更多部落格文章,我們將重點介紹您可以使用 AMS 來防止應用停機、監控效能、強制執行服務級別協議等方面的各種方式。
我們需要您的反饋!您希望 SpringSource AMS 自動暴露哪些型別的管理資料?您希望在儀表板中看到哪些特定的檢視或報告?您希望產品具備哪些特定的功能?作為唯一專注於 Spring 應用的應用管理解決方案,我們希望它對開發人員和運維人員來說都能儘可能強大且易於使用!