共用方式為


設定 JMX 計量

Application Insights Java 3.x 預設會收集一些 Java 管理延伸模組 (JMX) 計量,但在許多情況下,這並不足夠。 本文件詳細描述 JMX 設定選項。

如何收集其他 JMX 計量?

您可以將 "jmxMetrics" 區段新增至 applicationinsights.json 檔案,以設定 JMX 計量收集。 輸入您想要在 Azure 入口網站的 Application Insights 資源中顯示的計量名稱。 您要收集的每個計量都需要物件名稱和屬性。 您可以在物件名稱中使用 * 作為 Glob 樣式萬用字元 (詳細資料 (英文))。

如何知道有哪些計量可設定?

您能搞定!您必須知道物件名稱和屬性、這些屬性對於各種程式庫、架構和應用程式伺服器而言都不同,而且通常未妥善記載。 幸運的是,您可以輕鬆地找到特定環境支援的 JMX 計量。

若要檢視可用的計量,請將 applicationinsights.json 設定檔中的自我診斷層級設定為 DEBUG,例如:

{
  "selfDiagnostics": {
    "level": "DEBUG"
  }
}

可用的 JMX 計量,物件名稱和屬性名稱會出現在 Application Insights 記錄檔中。

輸出大致如這些範例所示。 在某些情況下,涉及的範圍可能很廣泛。

螢幕擷取畫面顯示記錄檔中可用的 JMX 計量。

您也可以使用命令列工具檢查可用的 JMX 計量。

設定範例

了解有哪些計量可供使用,您可以設定代理程式來收集這些計量。 第一個是巢狀計量的範例,LastGcInfo,其具有數個屬性,而我們想要擷取 GcThreadCount

"jmxMetrics": [
      {
        "name": "Demo - GC Thread Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "LastGcInfo.GcThreadCount"
      },
      {
        "name": "Demo - GC Collection Count",
        "objectName": "java.lang:type=GarbageCollector,name=PS MarkSweep",
        "attribute": "CollectionCount"
      },
      {
        "name": "Demo - Thread Count",
        "objectName": "java.lang:type=Threading",
        "attribute": "ThreadCount"
      }
],

在 Application Insights 中的哪裡可以找到 JMX 計量?

您可以在 Azure 入口網站中瀏覽至 Application Insights 資源,以檢視在應用程式執行時所收集的 JMX 計量。 在 [計量] 索引標籤下,選取下拉式清單以檢視計量。

螢幕擷取畫面顯示入口網站中的計量