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

Cloud Monitor:タグの追加と使用

最終更新日:Apr 09, 2026

Application Real-Time Monitoring Service (ARMS) のタグ付け機能を使用すると、メトリクス、トレース、ログなどのモニタリングデータを新しいディメンションで整理および監視できます。このトピックでは、アプリケーションにタグを追加する方法、アプリケーションタグを使用してアプリケーションをフィルタリングし、権限を管理する方法、および [アプリケーション詳細] ページと [Grafana ビュー] でインスタンスのタグを使用してモニタリングデータをフィルタリングする方法について説明します。

前提条件

アプリケーションがアプリケーションモニタリングに接続されていること。詳細については、「アプリケーションモニタリングの概要」をご参照ください。

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

  • コンテナクラスター内のアプリケーションの場合、ack-onepilot コンポーネントがバージョン 3.0.4 以降であり、ARMS エージェントがバージョン 2.7.3.5 以降であることを確認してください。

  • 他の環境のアプリケーションについては、ARMS エージェントがバージョン 2.7.3.5 以降であることを確認してください。最新の ARMS エージェントインストールパッケージは、ARMS コンソール[アプリケーションモニタリング] > [エージェント管理] ページの [エージェントリリースノート] タブからダウンロードできます。

タグの種類

アプリケーションモニタリングでは、アプリケーションタグとインスタンスのタグという 2 種類のタグが提供されます。ユースケースに適したタグの種類を選択してください。どちらのタイプもキーと値のペアの構造を使用しており、複数のキーと値のペアを同時に追加できます。

アプリケーションタグ

アプリケーションタグは ARMS アプリケーションに適用されます。ARMS コンソール[アプリケーションモニタリング] > [アプリケーション一覧] ページでアプリケーションタグを表示または変更できます。アプリケーションタグを使用して、アプリケーションのフィルタリング、権限の管理、コストの割り当てができます。

インスタンスのタグ

ARMS では、1 つのアプリケーションに複数のアプリケーションインスタンスを含めることができ、それぞれがアプリケーションプロセスを表します。アプリケーションのすべてのインスタンスは、同じアプリケーション名で ARMS に接続します。アプリケーションタグとは異なり、インスタンスのタグはアプリケーションインスタンスに適用されます。同じアプリケーションに属する異なるアプリケーションインスタンスは、異なるインスタンスのタグを持つことができます。

ARMS は、Kubernetes 環境で検出されたアプリケーションインスタンスに、次のデフォルトのインスタンスのタグを自動的に追加します。

タグキー

説明

workloadKind

アプリケーションインスタンスが属するワークロードの種類 (Deployment など)。

workloadName

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

clusterName

アプリケーションインスタンスが配置されている Kubernetes クラスターの名前。

namespace

アプリケーションインスタンスが配置されている Kubernetes 名前空間。

version

イメージタグ。

これはカスタムインスタンスのタグで上書きできます。

agentVersion

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

デフォルトのインスタンスのタグに加えて、カスタムインスタンスのタグを追加できます。インスタンスは、親アプリケーションからすべてのアプリケーションタグも継承します。アプリケーションインスタンスからのモニタリングデータには、そのインスタンスのタグが含まれます。

説明

カスタムインスタンスのタグのキーは、正規表現 ^[a-zA-Z_][a-zA-Z0-9_]*$ に一致する Prometheus の命名規則に従うことを推奨します。準拠していないキーの場合、ARMS エージェントは非準拠文字をアンダースコア (_) に置き換えます。たとえば、1key:1value_key:1value に変換されます。

例:

次の図に示すように、アプリケーション my-app には 2 つのインスタンスが含まれています。ARMS がインスタンス B に対して生成したメトリクスデータには、次のタグが含まれます:{env: Dev, team: Observability, app: my-app, workloadKind: Deployment, workloadName: my-app, clusterName: ClusterA, namespace: nsA, gitVersion: 1.0.2}

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

Kubernetes クラスターでのカスタムインスタンスのタグの追加

方法 1 (推奨):Pod ラベルを使用したタグの挿入

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

説明

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

次の例は、ACK 環境のアプリケーションでこれを行う方法を示しています。

ACK コンソールで、対象クラスターの Deployment または StatefulSet ページで、ページ上部で対象の名前空間を選択します。対象アプリケーションの右側で、image > [YAML の編集] を選択します。[YAML の編集] ダイアログボックスで、カスタムタグを追加し、[更新] をクリックします。アプリケーションインスタンスが再起動され、新しいインスタンスのタグが追加されます。image.png

方法 2:Pod 環境変数を使用したタグの挿入

説明
  • Java アプリケーションの場合は 4.0.0 以降。

  • Go アプリケーションの場合は 1.5.0 以降。

  • Python アプリケーションの場合は 1.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. 環境変数を設定した後、アプリケーションプロセスを起動します。

手動でインストールされたエージェントへのタグの追加

Java アプリケーション

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

ご利用の Java アプリケーションの起動パラメーターに、パラメーター -Darms.host.tags="${yourLabel}" を追加します。

${yourLabel} を、追加したいインスタンスのタグに置き換えます。複数のタグを区切るには、key1:value1&key2:value2 のフォーマットを使用します。例:-Darms.host.tags="gitVersion:1.0.2&ip:192.168.1.101"

方法 2:設定ファイルの変更

エージェントバージョン 4.0.0 以降

  1. 任意のディレクトリに .properties のサフィックスを持つ設定ファイルを作成します。詳細については、「Java エージェントの設定とデフォルトのレポートリージョンの変更」をご参照ください。ファイルに 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 アプリケーションの起動パラメーターに -Dotel.javaagent.configuration-file=${path/to/config/file} を追加するか、OTEL_JAVAAGENT_CONFIGURATION_FILE=${path/to/config/file} 環境変数を追加します。

    説明
    • ${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. アプリケーションプロセスを再起動します。

エージェントバージョン 4.0.0 未満

  1. Java エージェント設定ファイルとデフォルトのレポートリージョンの変更」をご参照いただき、エージェントインストールパッケージの 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. アプリケーションプロセスを再起動します。

Golang アプリケーション

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

#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"

Pod ラベルを使用したアプリケーションタグの挿入

重要
  • Java アプリケーションの場合は 3.0.16 以降。

  • Go アプリケーションの場合は 3.2.0 以降。

  • Python アプリケーションの場合は 4.1.1 以降。

  • 方法 2 には ack-onepilot バージョン 4.1.2 以降が必要です。

方法 1

Pod ラベルにプレフィックス app.customAppKey. がある場合、ARMS はそれをインスタンスのタグではなくアプリケーションタグとして識別します。

次のコード例では、ARMS はこのワークロードに関連付けられたアプリケーションにアプリケーションタグ env: dev を追加します。

  template:
    metadata:
      labels:
        app.customAppKey.env: dev
        app: mall-gateway
        armsPilotAutoEnable: 'on'
        aliyun.com/app-language: golang  # Go アプリケーションが言語を識別するために必要です。Java アプリケーションには不要です。
        armsPilotCreateAppName: mall-gateway

方法 2

Pod 内の既存のラベルをアプリケーションタグとして再利用したい場合は、ack-onepilot コンポーネントを設定できます。

前提条件

ack-onepilot コンポーネントがバージョン 4.1.2 以降であること。

操作手順

  1. ack-onepilot コンポーネントの Deployment を見つけます。通常、名前は ack-onepilot-ack-onepilot で、ack-onepilot 名前空間にあります。

    image.png

  2. ack-onepilot Deployment に ARMS_APP_LABELS 環境変数を追加します。この変数はカンマ区切りの文字列です。この変数を追加すると、ARMS_APP_LABELS にリストされている Pod ラベルキーはすべてアプリケーションタグキーとして扱われます。

    image

  3. ack-onepilot コンポーネントが再起動し、ヘルスチェックに合格するのを待ちます。その後、ビジネスアプリケーションを再起動して、対応するアプリケーションタグを適用します。

    image.png

説明
  • ARMS では、アプリケーションはインスタンスのコレクションを表し、複数のワークロードや Kubernetes クラスターにまたがることがあります。したがって、Pod ラベルを使用してアプリケーションタグを挿入することは、DevOps シナリオの便宜のためであり、特定の制限があります。

  • Pod ラベルを使用して挿入されたアプリケーションタグは追加式です。既存のタグキーを変更または削除するには、まず YAML ファイルを更新し、その後 ARMS コンソールまたは API を使用して変更を完了する必要があります。

  • 複数のワークロードが同じ ARMS アプリケーションに接続する場合、Pod ラベルを使用して挿入されたアプリケーションタグが競合を引き起こす可能性があります。ワークロード間でアプリケーションタグの一貫性を確保する必要があります。

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

アプリケーションのフィルタリング

アプリケーション一覧などの機能や、アラートルールの作成時に、アプリケーションタグに基づいてアプリケーションをすばやくフィルタリングできます。

タグを使用した権限の管理

アプリケーションタグに基づいて RAM 権限を管理できます。詳細については、「アプリケーションモニタリングの RAM 認可ポリシーのカスタマイズ」をご参照ください。

インスタンスのタグの使用

アプリケーション詳細でのインスタンスのタグによるデータのフィルタリング

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

  2. [アプリケーション一覧] ページで、上部でリージョンを選択し、対象アプリケーションの名前をクリックします。

    説明

    [言語] 列のアイコンは次のことを示します。

    Java图标:アプリケーションモニタリングに接続された Java アプリケーション。

    image:アプリケーションモニタリングに接続された Golang アプリケーション。

    image:アプリケーションモニタリングに接続された Python アプリケーション。

    -OpenTelemetry 向けマネージドサービスに接続されたアプリケーション。

  3. アプリケーション詳細のさまざまなページで、インスタンスのタグによってモニタリングデータをフィルタリングできます。たとえば、イメージのバージョン番号に基づいてデータを比較・分析できます。

Grafana ビューでのインスタンスのタグによるメトリクスのクエリ

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

  2. [アプリケーション一覧] ページで、上部でリージョンを選択し、対象アプリケーションの名前をクリックします。

    説明

    [言語] 列のアイコンは次のことを示します。

    Java图标:アプリケーションモニタリングに接続された Java アプリケーション。

    image:アプリケーションモニタリングに接続された Golang アプリケーション。

    image: アプリケーションモニタリングに接続された Python アプリケーション。

    -OpenTelemetry 向けマネージドサービスに接続されたアプリケーション。

  3. 左側のナビゲーションウィンドウで、[Grafana ビュー] をクリックします。ページの上部で、さまざまなタグを選択して、対応する監視メトリクスを表示します。

    GrafanaView