手順1: ARMSアプリケーションモニタリングエージェントのインストール
ARMSアプリケーションモニタリングエージェントをインストールする前に、ACKサーバーレスクラスターにARMSアドントークンがあるかどうかを確認してください。 クラスターにARMSアドントークンがある場合、ARMSはパスワードなし認証を実行します。 クラスターにARMSアドントークンがない場合は、AccessKey IDとAccessKey secretを手動で指定して認証を完了する必要があります。
ARMSアドントークンがクラスターに存在するかどうかの確認
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。 [クラスター] ページで、クラスターの名前をクリックして、クラスターの詳細ページに移動します。
左側のナビゲーションウィンドウで、 を選択します。 ページの上部で、[名前空間] ドロップダウンリストから [kube-system] を選択し、[秘密] ページにaddon.arms.tokenが表示されているかどうかを確認します。
手順
[Cloud Resource Access authorization] ページで承認を完了します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
On theアドオンページをクリックし、ログとモニタリングタブをクリックし、インストールで、ack-onepilotカード。
では、ack-onepilotをインストールするダイアログボックスでパラメーターを設定し、OK.
ACKサーバーレスクラスターにARMSアドントークンがない場合は、AccessKey IDとAccessKey secretを指定する必要があります。 その他のパラメーターはオンデマンドで設定できます。 デフォルト設定を使用することを推奨します。
パラメーター | 説明 |
accessKey | Alibaba CloudアカウントのAccessKey ID。 アカウントにARMSへのアクセスを許可する必要があります。 |
accessKeySecret | Alibaba CloudアカウントのAccessKeyシークレット。 |
ステップ2: JavaアプリケーションのARMSを有効にする
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
On theデプロイメントページ、選択 で、アクション管理するデプロイメントの列です。
YAMLファイルで、次のラベルを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.
説明 最適なユーザーエクスペリエンスを確保するために、ARMSエージェントをインストールした後、新しいエージェントバージョンのリリースに続いて、アプリケーションの再起動時にack-onepilotコンポーネントがエージェントを最新バージョンに自動的に更新します。 新しいリリースごとにエージェントを自動的に更新したくない場合は、手動でバージョンを制御できます。 詳細については、「エージェントのバージョンの制御」をご参照ください。
Application Securityの詳細については、アプリケーションセキュリティとは
アプリケーションセキュリティの課金ルールの詳細については、「課金」をご参照ください。

次のYAMLテンプレートは、展開を作成し、アプリケーションのアプリケーションモニタリングを有効にする方法を示しています。
YAMLテンプレート
apiVersion: v1
kind: Namespace
metadata:
name: arms-demo
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: arms-springboot-demo
namespace: arms-demo
labels:
app: arms-springboot-demo
spec:
replicas: 2
selector:
matchLabels:
app: arms-springboot-demo
template:
metadata:
labels:
app: arms-springboot-demo
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "arms-k8s-demo"
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
imagePullPolicy: Always
name: arms-springboot-demo
env:
- name: SELF_INVOKE_SWITCH
value: "true"
- name: COMPONENT_HOST
value: "arms-demo-component"
- name: COMPONENT_PORT
value: "6666"
- name: MYSQL_SERVICE_HOST
value: "arms-demo-mysql"
- name: MYSQL_SERVICE_PORT
value: "3306"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: arms-springboot-demo-subcomponent
namespace: arms-demo
labels:
app: arms-springboot-demo-subcomponent
spec:
replicas: 2
selector:
matchLabels:
app: arms-springboot-demo-subcomponent
template:
metadata:
labels:
app: arms-springboot-demo-subcomponent
armsPilotAutoEnable: "on"
armsPilotCreateAppName: "arms-k8s-demo-subcomponent"
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-springboot-demo:v0.1
imagePullPolicy: Always
name: arms-springboot-demo-subcomponent
env:
- name: SELF_INVOKE_SWITCH
value: "false"
- name: MYSQL_SERVICE_HOST
value: "arms-demo-mysql"
- name: MYSQL_SERVICE_PORT
value: "3306"
---
apiVersion: v1
kind: Service
metadata:
labels:
name: arms-demo-component
name: arms-demo-component
namespace: arms-demo
spec:
ports:
# the port that this service should serve on
- name: arms-demo-component-svc
port: 6666
targetPort: 8888
# label keys and values that must match in order to receive traffic for this service
selector:
app: arms-springboot-demo-subcomponent
---
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: arms-demo-mysql
namespace: arms-demo
labels:
app: mysql
spec:
replicas: 1
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- resources:
limits:
cpu: 0.5
image: registry.cn-hangzhou.aliyuncs.com/arms-docker-repo/arms-demo-mysql:v0.1
name: mysql
ports:
- containerPort: 3306
name: mysql
---
apiVersion: v1
kind: Service
metadata:
labels:
name: mysql
name: arms-demo-mysql
namespace: arms-demo
spec:
ports:
# the port that this service should serve on
- name: arms-mysql-svc
port: 3306
targetPort: 3306
# label keys and values that must match in order to receive traffic for this service
selector:
app: mysql
---
[デプロイメント] ページで、Javaアプリケーションの [アクション] 列の [ARMSコンソール] をクリックして、ARMSコンソールに移動し、サービスガバナンスを実行します。