すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:タグの追加と使用

最終更新日:Jun 11, 2025

Application Real-Time Monitoring Service (ARMS) のタグを使用すると、アプリケーションモニタリングのメトリック、トレース、ログなどのデータを整理および監視できます。このトピックでは、アプリケーションをタグセンターに接続する方法、アプリケーションにタグを追加する方法、およびタグを使用してアプリケーションの詳細ページと Grafana ビューページでメトリックをクエリする方法について説明します。

前提条件

アプリケーションは、アプリケーションモニタリングによって監視されます。詳細については、「アプリケーションモニタリングの概要」をご参照ください。

Java アプリケーションの場合、次の要件を満たす必要があります。

  • アプリケーションが Kubernetes クラスタにデプロイされている場合、ack-onepilot のバージョンは V3.0.4 以降、ARMS エージェントのバージョンは V2.7.3.5 以降である必要があります。

  • アプリケーションが別の環境にデプロイされている場合、ARMS エージェントのバージョンは V2.7.3.5 以降である必要があります。ARMS エージェントの最新のインストールパッケージを取得するには、次の操作を実行します。ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [エージェント管理] を選択します。[エージェントリリースノート] タブをクリックします。

タグの種類

アプリケーションモニタリングは、アプリケーションタグとインスタンスタグを提供します。ビジネス要件に基づいてタグの種類を選択します。アプリケーションタグとインスタンスタグはどちらもキーと値のペアを使用します。複数のキーと値のペアを同時に追加できます。

アプリケーションタグ

アプリケーションタグを表示または変更するには、ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [アプリケーションリスト] を選択します。アプリケーションタグを使用して、アプリケーションのクエリ、アプリケーション権限の管理、および請求の分割を行うことができます。

インスタンスタグ

アプリケーションモニタリングで監視される各アプリケーションには、複数のアプリケーションインスタンスを含めることができ、各アプリケーションインスタンスはプロセスを表します。同じアプリケーションに属する異なるアプリケーションインスタンスは、異なるインスタンスタグを持つ場合があります。

Kubernetes 環境からアプリケーションモニタリングに自動的に接続されるアプリケーションインスタンスには、ARMS はデフォルトで次のタグを追加します。

タグキー

説明

workloadKind

アプリケーションインスタンスが属するワークロードのタイプ。例:Deployment。

workloadName

アプリケーションインスタンスが属するワークロードの名前。

clusterName

アプリケーションインスタンスが属する Kubernetes クラスタの名前。

namespace

アプリケーションインスタンスが属する Kubernetes クラスタの名前空間。

version

イメージタグ。

カスタムインスタンスタグで上書きできます。

agentVersion

ARMS エージェントのバージョン。

デフォルトのインスタンスタグに加えて、カスタムインスタンスタグを追加できます。同時に、アプリケーションに追加されたインスタンスタグは完全に継承され、各アプリケーションインスタンスのモニタリングデータとともに表示されます。

説明

カスタムインスタンスタグのキーは、Prometheus のメトリックとラベルの規則に準拠することをお勧めします。キーは、正規表現 ^[a-zA-Z_][a-zA-Z0-9_]*$ に基づいて指定する必要があります。正規表現に基づいて指定されていないキーの場合、ARMS エージェントはアンダースコア (_) を使用して、準拠していないフラグメントを置き換えます。たとえば、1key:1value_key:1value に置き換えられます。

例:

次の図に示すように、アプリケーション my-app には 2 つのインスタンス(インスタンス A とインスタンス B)が含まれています。インスタンス B のメトリックには、次のタグが付いています。env: Dev, team: Observability, app: my-app, workloadKind: Deployment, workloadName: my-app, clusterName: ClusterA, namespace: nsA, and gitVersion: 1.0.2

カスタムインスタンスタグの追加

Kubernetes 環境にデプロイされたアプリケーションにカスタムインスタンスタグを追加する

方法 1(推奨):Pod ラベルを使用してカスタムインスタンスタグを追加する

Kubernetes 環境にデプロイされ、ARMS エージェントが自動的にインストールされているアプリケーションには、Pod ラベルを使用してカスタムインスタンスタグを追加できます。

説明

この方法は、Container Service for Kubernetes (ACK) またはその他の Kubernetes 環境にデプロイされたアプリケーションに適しています。ACK またはその他の Kubernetes 環境にデプロイされたアプリケーションに ARMS エージェントを自動的にインストールする方法については、「アプリケーションモニタリングの概要」をご参照ください。

ACK クラスタにデプロイされたアプリケーションを例にとります。

ACK コンソール にログインします。クラスタ詳細ページの左側のナビゲーションウィンドウで、[デプロイメント] または [ステートフルセット] をクリックします。表示されるページで、名前空間を選択し、デプロイメントまたはステートフルセットを見つけて、[アクション] 列の [詳細] > [YAML で表示] を選択します。[YAML の編集] ダイアログボックスで、カスタムタグを追加し、[更新] をクリックします。アプリケーションインスタンスが再起動され、新しいインスタンスタグが追加されます。image.png

方法 2:Pod 環境変数を使用してカスタムインスタンスタグを追加する

説明

この方法は、Java 用 ARMS エージェント V4.0.0 以降、Go 用 V1.5.0 以降、Python 用 V1.3.0 以降でサポートされています。

podName など、Pod が作成された後にのみ取得できるカスタムインスタンスタグを追加するには、コンテナの起動スクリプトに環境変数を追加します。次の手順を実行します。

  1. ARMS_HOST_TAGS という名前の環境変数をコンテナに追加します。値をインスタンスタグに設定します。形式:key1:value1&key2:value2。例:export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101"

  2. 環境変数が有効になったら、プロセスを開始します。

ARMS エージェントを手動でインストールしたアプリケーションにカスタムインスタンスタグを追加する

Java

方法 1:-D コマンドラインパラメータを追加する

-Darms.host.tags="${yourLabel}" という名前の -D コマンドラインパラメータをアプリケーションの起動パラメータに追加します。

${yourLabel} を追加するインスタンスタグに置き換えます。形式:key1:value1&key2:value2。例:-Darms.host.tags="gitVersion:1.0.2&ip:192.168.1.101"

方法 2:構成ファイルを変更する

ARMS エージェント V4.0.0 以降

  1. 詳細については、「Java パラメータとデータレポートリージョン用の ARMS エージェントを変更する」を参照し、任意のディレクトリに .properties 構成ファイルを作成します。構成ファイルで、profiler.tags.customtags フィールドを追加し、その値を追加するインスタンスタグとして指定します。key1:value1&key2:value2 形式で複数のタグを区切ります。例:

    #profiler.tags.customtags=key1:value1&key2:value2
    profiler.tags.customtags=gitVersion:1.0.2&ip:192.168.1.101
  2. -Dotel.javaagent.configuration-file=${path/to/config/file} または環境変数 OTEL_JAVAAGENT_CONFIGURATION_FILE=${path/to/config/file} を Java アプリケーションの起動コマンドに追加します。

    説明
    • ${path/to/config/file} を前の手順で作成した構成ファイルの完全なパスに置き換えます。例:-Dotel.javaagent.configuration-file=/home/admin/config/agent-config.properties または OTEL_JAVAAGENT_CONFIGURATION_FILE=/home/admin/config/agent-config.properties

    • 起動コマンドと環境変数の両方が構成されている場合、起動コマンドが優先されます。

  3. Java プロセスを再起動します。

V4.0.0 より前の ARMS エージェント

  1. 詳細については、「Java パラメータとデータレポートリージョン用の ARMS エージェントを変更する」を参照し、エージェントインストールパッケージの arms-agent.config 構成ファイルの profiler.tags.customtags フィールドを変更します。key1:value1&key2:value2 形式でカスタムインスタンスタグを追加できます。例:

    #profiler.tags.customtags=key1:value1&key2:value2
    profiler.tags.customtags=gitVersion:1.0.2&ip:192.168.1.101
  2. Java プロセスを再起動します。

Go

環境変数を宣言し、アプリケーションプロセスを再起動します。

#export ARMS_HOST_TAGS=key1:value1&key2:value2
export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101"

Python

環境変数を宣言し、アプリケーションプロセスを再起動します。

#export ARMS_HOST_TAGS=key1:value1&key2:value2
export ARMS_HOST_TAGS="gitVersion:1.0.2&ip:192.168.1.101"

ポッドラベルを使用して Kubernetes 環境にデプロイされたアプリケーションにタグを追加する

次のいずれかの方法を使用してタグを追加します。

重要

ack-onepilot のバージョン要件:

  • Java の場合は V3.0.16 以降

  • Go の場合は V3.2.0 以降

  • Python の場合は V4.1.1 以降

プレフィックス app.customAppKey. を使用する

app.customAppKey. というプレフィックスが付いたポッドラベルは、インスタンスタグではなく、アプリケーションタグとして認識されます。

次のコードでは、ARMS はアプリケーションタグ env: dev をアプリケーションに追加します。

  template:
    metadata:
      labels:
        app.customAppKey.env: dev
        app: mall-gateway
        armsPilotAutoEnable: 'on'
        aliyun.com/app-language: golang  # Go アプリケーションを指定します。
        armsPilotCreateAppName: mall-gateway

環境変数 ARMS_APP_LABELS を追加する

既存のポッドラベルをアプリケーションタグとして再利用するには、ack-onepilot V4.1.2 以降を構成します。

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。

  2. [クラスタ] ページで、管理するクラスタを見つけて、その名前をクリックします。左側のウィンドウで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、ack-onepilot コンポーネントをクリックします。通常、ack-onepilot 名前空間では ack-onepilot-ack-onepilot という名前です。

    image.png

  4. 表示されるページの右上隅にある [編集] をクリックします。

  5. [環境] セクションが表示されるまで下にスクロールします。[追加] をクリックし、環境変数 ARMS_APP_LABELS を追加して、値をカンマ区切りの文字列に設定します。構成後、ARMS_APP_LABELS と一致する /spec/template/metadata/labels にリストされているすべてのキーがアプリケーションタグとして登録されます。

    image

  6. ack-onepilot コンポーネントが再起動し、ヘルスチェックに合格するまで待ちます。次に、アプリケーションポッドを再起動してラベルを適用します。

    image.png

説明
  • ARMS では、アプリケーションは複数のアプリケーションインスタンスの集合です。複数のアプリケーションインスタンスを持つことも、複数のワークロードまたは Kubernetes クラスタに属することもできます。Pod ラベルを使用すると、DevOps シナリオでアプリケーションタグを効率的に追加できます。ただし、この方法にはいくつかの制限があります。

  • Pod ラベルを使用して追加されたアプリケーションタグは、直接削除または変更することはできません。既存のタグキーを変更または削除するには、YAML ファイルを変更してから、ARMS コンソールまたは API 操作を使用する必要があります。

  • 複数のワークロードが同じアプリケーションに属している場合、Pod ラベルを使用して追加されたアプリケーションタグが互いに競合する可能性があります。アプリケーションタグの一貫性を確保する必要があります。

アプリケーションタグの使用

アプリケーションクエリ

ARMS コンソールでアプリケーションリストを表示したり、アラートルールを作成したりする場合、アプリケーションタグを使用してアプリケーションをクエリできます。

タグベースの権限管理

アプリケーションタグに基づいて RAM 権限を管理できます。詳細については、「カスタムポリシーを RAM ユーザーにアタッチする」をご参照ください。

インスタンスタグの使用

アプリケーション詳細ページでのモニタリングデータのクエリ

  1. ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [アプリケーションリスト] を選択します。

  2. [アプリケーションリスト] ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。

  3. 説明

    [言語] 列に表示されるアイコンは、アプリケーションが記述されている言語を示します。

    Java图标: Java アプリケーション

    image: Go アプリケーション

    image: Python アプリケーション

    ハイフン (-): Managed Service for OpenTelemetry で監視されるアプリケーション。

  4. アプリケーション詳細ページのさまざまなモジュールで、インスタンスタグを使用してモニタリングデータをクエリできます。たとえば、イメージバージョンに基づいてモニタリングデータを比較および分析できます。

Grafana ビューページでのメトリックのクエリ

  1. ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [アプリケーションリスト] を選択します。

  2. [アプリケーションリスト] ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。

  3. 説明

    [言語] 列に表示されるアイコンは、アプリケーションが記述されている言語を示します。

    Java图标: Java アプリケーション

    image: Go アプリケーション

    image: Python アプリケーション

    ハイフン (-): Managed Service for OpenTelemetry で監視されるアプリケーション。

  4. 左側のナビゲーションウィンドウで、[Grafana ビュー] をクリックします。表示されるページで、タグを構成してメトリックを表示します。

    GrafanaView