Application Real-Time Monitoring Service (ARMS) のアプリケーションモニタリングコンポーネントである ack-onepilot を、Container Service for Kubernetes (ACK) にデプロイされている Java アプリケーションにインストールすると、ARMS はアプリケーショントポロジーの自動検出、3D トポロジーの生成、インターフェイスの監視、異常トランザクションと低速トランザクションのキャプチャを開始します。 これにより、オンラインでの問題診断の効率が大幅に向上します。
背景
ARMS は、アプリケーションパフォーマンス管理 (APM) サービスです。 コードを変更することなく、ACK にデプロイされた Java アプリケーションの包括的なモニタリングを提供します。 ack-onepilot をインストールして承認することで、失敗したリクエストと低速なリクエストを効率的に特定し、リクエストパラメーターを再現し、メモリリークを検出し、システムのボトルネックを発見できます。 ARMS アプリケーションモニタリングの詳細については、「アプリケーションモニタリングとは」をご参照ください。
前提条件
名前空間が作成されていること。 詳細については、「名前空間とリソースクォータの管理」をご参照ください。 この例では、
arms-demoという名前の名前空間を使用します。JDK のバージョンがアプリケーションモニタリングでサポートされていること。 ARMS は、次の JDK バージョンをサポートしています。
JDK 1.7.0+
重要ARMS エージェント V3.0.X 以降では、Java 7 はサポートされなくなります。 まだ Java 7 を使用している場合は、Java バージョンをアップグレードすることをお勧めします。 詳細については、「アプリケーションモニタリングは Java 7 をサポートしなくなりました」をご参照ください。
JDK 1.8.0_25+
説明Kubernetes クラスターにアプリケーションをデプロイする場合は、JDK V1.8.0_191 以降を使用することをお勧めします。
JDK のバージョンが 1.8.0_25 または 1.8.0_31 でないことを確認してください。 そうしないと、ARMS エージェントのインストールに失敗する可能性があります。 この場合は、JDK を最新の 1.8.X にアップグレードすることをお勧めします。
JDK 11.0.8+
JDK 17
ARMS がアクティブ化されていること。 詳細については、「ARMS のアクティブ化」をご参照ください。
ステップ 1: ARMS アプリケーションモニタリングコンポーネントをインストールする
古いコンポーネント arms-pilot は、現在はメンテナンスされていません。 新しいコンポーネント ack-onepilot をインストールして、アプリケーションを監視できます。 ack-onepilot コンポーネントは arms-pilot と完全に互換性があります。 アプリケーション構成を変更することなく、ack-onepilot をシームレスにインストールできます。 詳細については、「arms-pilot をアンインストールして ack-onepilot をインストールするにはどうすればよいですか。」をご参照ください。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。 左側のナビゲーションウィンドウで、[アドオン] をクリックします。
[ログとモニタリング] セクションで、[ack-onepilot] を見つけて、[インストール] をクリックします。 表示されたダイアログボックスで、必要に応じてパラメーターを構成します。 デフォルト値を使用することをお勧めします。 次に、[OK] をクリックします。
説明デフォルトでは、ack-onepilot は 1,000 ポッドをサポートします。 クラスター内の追加の 1,000 ポッドごとに、ack-onepilot に 0.5 CPU コアと 512 MB のメモリを追加する必要があります。
[ack-onepilot] をインストールした後、[アドオン] ページでアップグレード、構成、またはアンインストールできます。
ステップ 2: ARMS がリソースにアクセスすることを承認する
addon.arms.tokenがない ACK クラスターにデプロイされたアプリケーションを監視するには、次の操作を実行して、ACK クラスターが ARMS にアクセスすることを承認します。addon.arms.tokenがすでに存在する場合は、これ以上の承認は必要ありません。説明ACK クラスターでは、
addon.arms.tokenを使用すると、ARMS はパスワードなしで自動的に承認を実行できます。 通常、マネージドクラスター にはデフォルトでaddon.arms.tokenがあります。 ただし、以前に作成された マネージドクラスター の一部には、addon.arms.tokenが含まれていない場合があります。クラスターに
addon.arms.tokenがあるかどうかを確認します。addon.arms.tokenが存在しない場合は、次の手順を実行して、クラスターが ARMS リソースにアクセスすることを手動で承認します。ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、目的のクラスターを見つけて、その名前をクリックします。 左側のウィンドウで、[クラスター情報] をクリックします。
[基本情報] タブをクリックします。 [クラスターリソース] セクションで、[ワーカー RAM ロール] の右側にあるリンクをクリックします。
[権限] タブで、[権限の付与] をクリックします。
AliyunARMSFullAccess ポリシーを選択し、[OK] をクリックします。
エラスティックコンテナインスタンスに接続されている マネージドクラスター にデプロイされたアプリケーションを監視するには、RAM クイック承認 ページに移動して、承認を完了します。 その後、ack-onepilot 用に作成されたポッドを再起動します。
ステップ 3: Java アプリケーションを監視するように ARMS を有効にする
新しいアプリケーションを作成するときにアプリケーションモニタリングを有効にするには、次の手順を実行します。
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。 左側のウィンドウで、 を選択します。
[デプロイメント] ページで、ページの上部にある [YAML から作成] をクリックします。
[作成] ページで、[サンプルテンプレート] ドロップダウンリストからテンプレートを選択し、[テンプレート] コードエディターの spec.template.metadata フィールドに次の
labelsを追加します。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" // <your-deployment-name> を実際のアプリケーション名に置き換えます。 armsSecAutoEnable: "on" // アプリケーションをアプリケーションセキュリティに接続する場合は、このパラメーターを構成する必要があります。説明アプリケーションセキュリティの詳細については、「アプリケーションセキュリティとは」をご参照ください。
アプリケーションセキュリティの課金については、「課金」をご参照ください。

次の YAML テンプレートは、デプロイメントを作成し、アプリケーションのアプリケーションモニタリングを有効にする方法を示しています。
次のステップ
デプロイメント上記の手順を完了すると、ACK クラスターにデプロイされたアプリケーションに対して ARMS アプリケーションモニタリングが有効になります。 [デプロイメント] ページで、アプリケーションの 列にある アクション を選択して、アプリケーションモニタリングの詳細を表示します。 詳細については、「アプリケーションの概要」をご参照ください。

> [ARMS コンソール]