教學課程:使用 Azure 受控 Grafana 建置 Java 計量儀錶板
在本教學課程中,您將瞭解如何使用 Azure 受控 Grafana 設定計量儀錶板,以監視在 Azure Container Apps 中執行的 Java 應用程式。
Grafana 是集中式計量視覺效果和可觀察性產業中監視的熱門工具。 Azure 受控 Grafana 是完全受控的 Azure 服務,可讓您使用順暢的 Azure 整合來部署和管理 Grafana 儀錶板。 您可以使用 Azure Managed Grafana 將 Azure Container Apps 公開的 Java 計量可視化,或將 Java 計量整合到現有的 Grafana 儀錶板中。
在本教學課程中,您已:
- 建立 Azure 受控 Grafana 執行個體。
- 在 Grafana 中建立 Java 計量儀錶板。
- 使用 Grafana 將 Azure Container Apps 的 Java 計量可視化。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如果您還沒有帳戶,您可以 免費建立一個。
- Azure CLI。
- 部署在 Azure Container Apps 中的 Java 應用程式。
設定環境
使用下列步驟來定義環境變數,並確定您的 Azure 受控 Grafana 擴充功能是最新的。
建立變數以支援 Grafana 設定。
export LOCATION=eastus export SUBSCRIPTION_ID={subscription-id} export RESOURCE_GROUP=grafana-resource-group export GRAFANA_INSTANCE_NAME=grafana-name
變數 描述 LOCATION
您建立 Azure 受控 Grafana 實例的 Azure 區域位置。 SUBSCRIPTION_ID
您用來建立 Azure Container Apps 和 Azure 受控 Grafana 實例的訂用帳戶標識碼。 RESOURCE_GROUP
Azure 受控 Grafana 實例的 Azure 資源組名。 GRAFANA_INSTANCE_NAME
Azure 受控 Grafana 實例的實例名稱。 使用 Azure CLI 登入 Azure。
az login
建立資源群組。
az group create --name $RESOURCE_GROUP --location $LOCATION
使用下列命令,以確保您有適用於 Azure 受控 Grafana 的最新版 Azure CLI 擴充功能。
az extension add --name amg --upgrade
設定 Azure 受控 Grafana 實例
首先,建立 Azure 受控 Grafana 實例,並授與必要的角色指派。
建立 Azure 受控 Grafana 執行個體。
az grafana create \ --name $GRAFANA_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
授與 Azure 受控 Grafana 實例「監視讀取者」角色,以從 Azure 監視器讀取計量。 深入瞭解 Azure 受控 Grafana 的驗證和許可權。
GRAFA_IDDENTITY=$(az grafana show --name $GRAFANA_INSTANCE_NAME --resource-group $RESOURCE_GROUP --query "identity.principalId" --output tsv) az role assignment create --assignee $GRAFA_IDDENTITY --role "Monitoring Reader" --scope /subscriptions/$SUBSCRIPTION_ID
建立Java計量儀錶板
重要
若要在 Grafana 中新增儀錶板,您必須擁有 Grafana Admin
或 Grafana Editor
角色,請參閱 Azure 受控 Grafana 角色。
將
Grafana Admin
角色指派給 Azure 受控 Grafana 資源上的帳戶。取得 Azure 受控 Grafana 實例的資源識別碼。
GRAFANA_RESOURCE_ID=$(az grafana show --resource-group $RESOURCE_GROUP --name $GRAFANA_INSTANCE_NAME --query id --output tsv)
執行此命令之前,請將
<USER_OR_SERVICE_PRINCIPAL_ID>
佔位元取代為您的使用者或服務主體標識碼。az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Grafana Admin" \ --scope $GRAFANA_RESOURCE_ID
下載適用於 Azure Container Apps json 檔案的 Java 計量儀錶板範例。
取得 Azure 受控 Grafana 資源的端點。
az grafana show --resource-group $RESOURCE_GROUP \ --name $GRAFANA_INSTANCE_NAME \ --query "properties.endpoint" \ --output tsv
此命令會傳回可用來存取 Azure Managed Grafana 儀錶板的 URL。 使用 URL 和登入來開啟瀏覽器。
移至
Dashboard
>New
-.>Import
上傳上述範例儀錶板 JSON 檔案,然後選擇預設的內Azure Monitor
建數據源,然後按下Import
按鈕。
使用 Grafana 將 Azure Container Apps 的 Java 計量可視化
在 Azure Container Apps 篩選條件中輸入您的資源資訊。 現在,您可以在儀錶板內檢視 Azure Container Apps 中所有支援的 Java 計量。 範例儀錶板提供即時計量數據,包括
- 容器應用程式概觀
- JVM 記憶體使用量
- JVM 記憶體緩衝區
- JVM GC JVM GC
- 詳細的 JVM 記憶體使用量分析
您可以使用此儀錶板作為起點,以建立您自己的自定義計量視覺效果和監視解決方案。
清除資源
本教學課程中建立的資源會影響您的 Azure 帳單。 如果您不會長期使用這些服務,請執行下列命令來刪除本教學課程中建立的所有內容。
az group delete --resource-group $RESOURCE_GROUP