このチュートリアルでは、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変数 説明 LOCATIONAzure Managed Grafana インスタンスを作成する Azure リージョンの場所。 SUBSCRIPTION_IDAzure Container Apps と Azure Managed Grafana インスタンスの作成に使用するサブスクリプション ID。 RESOURCE_GROUPAzure Managed Grafana インスタンスの Azure リソース グループ名。 GRAFANA_INSTANCE_NAMEAzure 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 $LOCATIONAzure 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_IDAzure 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