你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:使用 Azure 托管 Grafana 生成 Java 指标仪表板
本教程介绍如何使用 Azure 托管 Grafana 设置指标仪表板,以监视在 Azure 容器应用中运行的 Java 应用程序。
Grafana 是一种常用的工具,可用于集中监视可观测行业中的指标可视化和监视。 Azure 托管 Grafana 是一项完全托管的 Azure 服务,可用于通过无缝 Azure 集成部署和管理 Grafana 仪表板。 可以使用 Azure 托管 Grafana 可视化 Azure 容器应用公开的 Java 指标,或将 Java 指标集成到现有的 Grafana 仪表板中。
在本教程中,你将了解:
- 创建 Azure 托管 Grafana 实例。
- 在 Grafana 中创建 Java 指标仪表板。
- 使用 Grafana 可视化 Azure 容器应用的 Java 指标。
先决条件
- 具有活动订阅的 Azure 帐户。 如果你没有,可以免费创建一个。
- Azure CLI。
- 在 Azure 容器应用中部署的 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 容器应用和 Azure 托管 Grafana 实例的订阅 ID。 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 Monitor 读取指标。 详细了解 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 实例的资源 ID。
GRAFANA_RESOURCE_ID=$(az grafana show --resource-group $RESOURCE_GROUP --name $GRAFANA_INSTANCE_NAME --query id --output tsv)
运行此命令之前,请将
<USER_OR_SERVICE_PRINCIPAL_ID>
占位符替换为你的用户或服务主体 ID。az role assignment create \ --assignee <USER_OR_SERVICE_PRINCIPAL_ID> \ --role "Grafana Admin" \ --scope $GRAFANA_RESOURCE_ID
获取 Azure 托管 Grafana 资源的终结点。
az grafana show --resource-group $RESOURCE_GROUP \ --name $GRAFANA_INSTANCE_NAME \ --query "properties.endpoint" \ --output tsv
此命令返回可用于访问 Azure 托管 Grafana 仪表板的 URL。 使用 URL 打开浏览器并登录。
转到
Dashboard
>New
->Import
。 上传上述示例仪表板 JSON 文件,然后选择默认的内置Azure Monitor
数据源,然后单击“Import
”按钮。
使用 Grafana 可视化 Azure 容器应用的 Java 指标
在 Azure 容器应用的筛选器中输入资源信息。 现在,可以在仪表板中查看 Azure 容器应用支持的所有 Java 指标。 示例仪表板提供实时指标数据,包括
- 容器应用概述
- JVM 内存使用情况
- JVM 内存缓冲区
- JVM GC JVM GC
- 详细的 JVM 内存使用情况分析
可以使用此仪表板作为起点来创建自己的自定义指标可视化效果和监视解决方案。
清理资源
本教程中创建的资源会影响 Azure 帐单。 如果不打算长期使用这些服务,请运行以下命令来删除本教程中创建的所有内容。
az group delete --resource-group $RESOURCE_GROUP