チュートリアル: Azure Managed Grafana を使用して Java メトリック ダッシュボードをビルドする
このチュートリアルでは、Azure Managed Grafana を使用してメトリック ダッシュボードを設定し、Azure Container Apps で実行されている Java アプリケーションを監視する方法について説明します。
Grafana は、監視業界で一元化されたメトリックの視覚化と監視に使用される一般的なツールです。 Azure Managed Grafana は、シームレスな Azure 統合を使用して Grafana ダッシュボードをデプロイおよび管理できるフル マネージドの Azure サービスです。 Azure Managed Grafana を使用して、Azure Container Apps によって公開される Java メトリックを視覚化したり、Java メトリックを既存の Grafana ダッシュボードに統合したりできます。
このチュートリアルでは、次の作業を行いました。
- Azure Managed Grafana インスタンスを作成します。
- Grafana で Java メトリック ダッシュボードを作成します。
- Grafana を使用して Azure Container Apps の Java メトリックを視覚化します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 まだお持ちでない場合は、無料で作成できます。
- Azure CLI。
- Azure Container Apps にデプロイされた Java アプリケーション。
環境を設定する
以下の手順を実行して環境変数を定義し、Azure Managed Grafana 拡張機能を最新の状態にします。
Grafana の構成をサポートする変数を作成します。
export LOCATION=eastus export SUBSCRIPTION_ID={subscription-id} export RESOURCE_GROUP=grafana-resource-group export GRAFANA_INSTANCE_NAME=grafana-name
Variable 説明 LOCATION
Azure Managed Grafana インスタンスを作成する Azure リージョンの場所。 SUBSCRIPTION_ID
Azure Container Apps と Azure Managed Grafana インスタンスの作成に使用するサブスクリプション ID。 RESOURCE_GROUP
Azure Managed Grafana インスタンスの Azure リソース グループ名。 GRAFANA_INSTANCE_NAME
Azure Managed Grafana インスタンスのインスタンス名。 Azure CLI を使用して Azure にログインします。
az login
リソース グループを作成する。
az group create --name $RESOURCE_GROUP --location $LOCATION
次のコマンドを使用して、Azure Managed Grafana 用の Azure CLI 拡張機能の最新バージョンがあることを確認します。
az extension add --name amg --upgrade
Azure Managed Grafana インスタンスを設定する
まず、Azure Managed Grafana インスタンスを作成し、必要なロールの割り当てを付与します。
Azure Managed Grafana インスタンスを作成します。
az grafana create \ --name $GRAFANA_INSTANCE_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION
Azure Monitor からメトリックを読み取るために、Azure Managed Grafana インスタンスに "監視閲覧者" ロールを付与します。 詳細については、Azure Managed 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 Managed Grafana ロールに関するページを参照してください。
Azure Managed Grafana リソースのアカウントに
Grafana Admin
ロールを割り当てます。Azure Managed 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 Container Apps 用のサンプル Java メトリック ダッシュボード JSON ファイルをダウンロードします。
Azure Managed 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