Container Service for Kubernetes (ack) にデプロイされているJavaアプリケーションのApplication Real-Time Monitoring Service (ARMS) のApplication MonitoringコンポーネントACK-onepilotをインストールすると、ARMSは自動的にアプリケーショントポロジの検出、3Dトポロジの生成、インターフェイスの監視、異常および低速トランザクションのキャプチャを開始します。 これにより、オンライン問題診断の効率が大幅に向上します。
背景
ARMSは、アプリケーションパフォーマンス管理 (APM) サービスです。 コードを変更することなく、ACKにデプロイされたJavaアプリケーションの包括的なモニタリングを提供します。 ack-onepilotをインストールして承認することで、失敗したリクエストとスローリクエストを効率的に識別し、リクエストパラメータを再現し、メモリリークを検出し、システムのボトルネックを発見できます。 ARMSアプリケーションモニタリングの詳細については、「アプリケーションモニタリングの概要」をご参照ください。
前提条件
名前空間が作成されます。 詳細については、「名前空間とリソースクォータの管理」をご参照ください。 この例では、
arms-demo
という名前空間が使用されています。JDKのバージョンは、Application Monitoringでサポートされています。 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 Application Monitoringコンポーネントのインストール
古いアプリケーション監視コンポーネントのアームパイロットは、もはや維持されていません。 新しいコンポーネントack-onepilotをインストールして、アプリケーションを監視できます。 ack-onepilotは武器パイロットと完全に互換性があります。 アプリケーション設定を変更することなく、ack-onepilotをシームレスにインストールできます。 詳細については、「」をご参照ください。ack-onepilotをインストールしてarms-pilotをアンインストールするにはどうすればよいですか?
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
アドオンページで、ack-onepilotを検索します。
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はパスワードなしの認証を自動的に実行できます。 通常、ACK管理クラスターにはデフォルトでaddon.arms.token
があります。 ただし、以前に作成されたACK管理クラスターの一部には、addon.arms.token
が含まれていない場合があります。クラスターに
addon.arms.token
があるかどうかを確認します。addon.arms.token
が存在しない場合は、次の手順を実行して、ARMSリソースへのアクセスをクラスターに手動で許可します。ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[クラスター情報] をクリックします。
[基本情報] タブをクリックします。 [クラスターリソース] セクションで、[ワーカーRAMロール] の右側にあるリンクをクリックします。
[権限] タブで、[権限付与] をクリックします。
AliyunARMSFullAccessポリシーを選択し、[OK] をクリックします。
エラスティックコンテナインスタンスに接続されているACKマネージドクラスターにデプロイされているアプリケーションをモニタリングするには、[クラウドリソースアクセス権限付与] ページに移動して権限付与を完了します。 次に、ack-onepilot用に作成されたポッドを再起動します。
手順3: ARMSを有効にしてJavaアプリケーションを監視する
新しいアプリケーションを作成するときにアプリケーション監視を有効にするには、次の手順を実行します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
On theデプロイメントページをクリックします。YAMLから作成するページの上部にあります。
On the作成ページからテンプレートを選択します。サンプルテンプレートドロップダウンリストを追加し、次の
ラベル
にspec.template.metadataフィールドのテンプレートコードエディター。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" # Replace <your-deployment-name> with the actual application name. armsSecAutoEnable: "on" # If you want to connect the application to Application Security, you must configure this parameter.
説明アプリケーションセキュリティの詳細については、「アプリケーションセキュリティの概要」をご参照ください。
アプリケーションセキュリティの課金の詳細については、「課金」をご参照ください。
次のYAMLテンプレートは、配置アプリケーションを作成し、アプリケーションのアプリケーションモニタリングを有効にする方法を示しています。
結果を確認する
[デプロイメント] ページでアプリケーションを見つけ、[ARMSコンソール] ボタンが [操作] 列に表示されるかどうかを確認します。
次のステップ
上記の手順を完了すると、ACKでデプロイされたアプリケーションに対してARMSアプリケーションモニタリングが有効になります。 ARMSコンソールの [アプリケーション監視] ページにアクセスするには、アプリケーションの [操作] 列で [ARMSコンソール] をクリックします。 詳細については、「アプリケーションの概要」をご参照ください。