ack-onepilot をインストールすると、Application Real-Time Monitoring Service (ARMS) がアプリケーションの監視を開始します。アプリケーショントポロジー、インターフェース呼び出し、異常トランザクションや低速トランザクションなどの監視データを表示できます。このトピックでは、Container Service for Kubernetes (ACK) にデプロイされた Java アプリケーションの ARMS エージェントを自動的にインストールする方法について説明します。
アプリケーションモニタリングコンポーネント ack-onepilot は、さまざまな言語の ARMS エージェントをインストールするエージェントインストールアシスタントです。コンテナ環境でエージェントがデータをレポートするための環境を自動的に準備し、ARMS エージェントパッケージを準備します。ack-onepilot の動作原理については、ack-onepilot コンポーネントの動作原理 を参照してください。
古いコンポーネント arms-pilot はメンテナンスされていません。新しいコンポーネント ack-onepilot をインストールしてアプリケーションを監視できます。 ack-onepilot コンポーネントは arms-pilot と完全に互換性があります。アプリケーション構成を変更することなく、ack-onepilot をシームレスにインストールできます。詳細については、ack-onepilot をインストールし、arms-pilot をアンインストールする方法 を参照してください。
前提条件
ACK クラスタが作成されていること。ビジネス要件に基づいて、ACK 専用クラスタ、ACK マネージドクラスタ、または ACK Serverless クラスタ を作成できます。
クラスタに名前空間が作成されていること。詳細については、名前空間とリソースクォータの管理 を参照してください。この例で使用される名前空間は arms-demo です。
JDK のバージョンがアプリケーションモニタリングでサポートされていること。詳細については、ARMS でサポートされている Java コンポーネントとフレームワーク を参照してください。
プロセスの最大ヒープメモリが 256 MB 以上であること。
手順 1: ack-onepilot をインストールする
ACK コンソール にログインします。
ACK コンソールの左側のナビゲーションペインで、クラスタ をクリックします。クラスタ ページで、クラスタの名前をクリックします。
左側のナビゲーションペインで、 を選択します。アドオンページの右上隅に ack-onepilot と入力します。
ack-onepilot カードの インストール をクリックします。
説明デフォルトでは、ack-onepilot コンポーネントは 1,000 ポッドをサポートします。クラスタ内の 1,000 ポッドごとに、コンポーネントに 0.5 CPU コアと 512 MB のメモリを追加する必要があります。
表示されたダイアログボックスで、パラメータを設定し、OK をクリックします。デフォルト値を使用することをお勧めします。
説明ack-onepilot をインストールした後、アドオン ページでアップグレード、設定、またはアンインストールできます。
手順 2: ARMS リソースへのアクセス許可を付与する
サーバーレス Kubernetes (ASK) クラスタ内のアプリケーション、または Elastic Container Instance (ECI) に接続された Kubernetes クラスタ内のアプリケーションを監視するには、まず クラウド リソースアクセス承認 ページで、クラスタに ARMS へのアクセスを承認する必要があります。次に、ack-onepilot コンポーネントがデプロイされているすべてのポッドを再起動します。
ARMS Addon Token がない ACK クラスタにデプロイされたアプリケーションを監視するには、次の操作を実行して、ACK クラスタに ARMS へのアクセスを承認します。ARMS Addon Token が存在する場合は、手順 3 に進んでください。
説明クラスタに ARMS Addon Token がある場合、ARMS はクラスタでパスワードなしの承認を実行します。一部の ACK マネージドクラスタには、ARMS Addon Token が存在しない場合があります。ARMS を使用してクラスタ内のアプリケーションを監視する前に、ACK マネージドクラスタに ARMS Addon Token があるかどうかを確認することをお勧めします。クラスタに ARMS Addon Token がない場合は、クラスタに ARMS へのアクセスを手動で承認する必要があります。
ACK 専用クラスタまたは登録済みクラスタにデプロイされたアプリケーションを監視するには、Alibaba Cloud アカウントに AliyunARMSFullAccess および AliyunSTSAssumeRoleAccess 権限が付与されていることを確認します。RAM ユーザーに権限を付与する方法の詳細については、RAM ユーザーに権限を付与する を参照してください。
ack-onepilot コンポーネントをインストールした後、ack-onepilot の構成ファイルに Alibaba Cloud アカウントの AccessKey ID と AccessKey シークレットを入力する必要があります。
左側のナビゲーションペインで、
を選択します。次に、ack-onepilot の横にある 更新 をクリックします。accessKey
とaccessKeySecret
を Alibaba Cloud アカウントの AccessKey ID と AccessKey シークレットに置き換え、OK をクリックします。説明AccessKey ペアを取得する方法の詳細については、AccessKey ペアを作成する を参照してください。
デプロイメントを再起動します。
手順 3: アプリケーションのアプリケーションモニタリングを有効にする
アプリケーションの作成中に ARMS を有効にするには、次の手順を実行します。
ACK コンソール にログインします。左側のナビゲーションペインで、クラスタ をクリックします。クラスタ ページで、クラスタを見つけ、アプリケーションアクション 列の をクリックします。
デプロイメント ページで、右上隅にある YAML から作成 をクリックします。
表示されたページで、サンプルテンプレート ドロップダウンリストからテンプレートを選択し、
ラベル
仕様 > テンプレート > メタデータテンプレート コードエディタの パラメータに次の を追加します。labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" // <your-deployment-name> を実際のアプリケーション名に置き換えます。 armsSecAutoEnable: "on" // アプリケーションを Application Security に接続する場合は、このパラメータを設定する必要があります。
説明最適なユーザーエクスペリエンスを確保するために、ARMS エージェントをインストールした後、新しいエージェントバージョンがリリースされると、ack-onepilot コンポーネントはアプリケーションの再起動時にエージェントを最新バージョンに自動的に更新します。新しいリリースごとにエージェントを自動的に更新したくない場合は、バージョンを手動で制御できます。詳細については、エージェントのバージョンを制御する を参照してください。
Application Security については、Application Security とは を参照してください。
Application Security の課金ルールについては、課金 を参照してください。
次の YAML テンプレートは、デプロイメントを作成し、アプリケーションのアプリケーションモニタリングを有効にする方法を示しています。
結果の確認
デプロイメント ページでアプリケーションを見つけ、アクション 列に ARMS コンソール ボタンが表示されているかどうかを確認します。