Red Hat OpenShift での PSA の設定
OpenShift で Web モニタリング PSA および API モニタリング PSA を展開するには、Amazon EKS または Azure AKS で OpenShift クラスタを作成する必要があります。次のいずれかの方法で PSA を設定できます。
| 手動展開 | 自動化スクリプトを使用した展開 |
|---|---|
(オプション)プロキシサーバーの設定
プロキシサーバーを設定すると、すべてのドメインに適用されます。values.yaml ファイルにプロキシサーバーアドレスを指定して、プロキシサーバーを設定します。「キーと値のペアの設定」を参照してください。
プロキシサーバーからドメインをバイパスするには、次の手順を実行します。
Docker イメージのプル
DockerHub から sum-chrome-agent、sum-api-monitoring-agent、sum- heimdall の既成の Docker イメージをプルします。既成イメージには依存ライブラリが含まれているため、インターネットにアクセスできない場合でもこれらのイメージを使用できます。
docker pull appdynamics/heimdall-psa
docker pull appdynamics/chrome-agent-psa
docker pull appdynamics/api-monitoring-agent-psa
(オプション)カスタム Python ライブラリの追加
使用可能な標準ライブラリセットに加えて、スクリプト測定で使用するカスタム Python ライブラリをエージェントに追加できます。ベースイメージとしてロードしたイメージに基づいて新しいイメージをビルドします。
イメージにタグを付け、レジストリにプッシュします。
クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。Amazon EKS クラスタは、AWS が提供するマネージドレジストリである Elastic Container Registry(ECR)からイメージをプルします。
イメージにタグを付けるには、次のように入力します。
Web モニタリング PSA:
docker tag sum-heimdall:<heimdall-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag> docker tag sum-chrome-agent:<agent-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-chrome-agent:<agent-tag>
API モニタリング PSA:
docker tag sum-heimdall:<heimdall-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag> docker tag sum-api-monitoring-agent:<agent-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-api-monitoring-agent:<agent-tag>
と をアカウント ID とリージョンの値に置き換える必要があります。
リポジトリを作成するには、次のように入力します。
Web モニタリング PSA:
aws ecr create-repository --repository-name sum/sum-heimdall aws ecr create-repository --repository-name sum/sum-chrome-agent
API モニタリング PSA:
aws ecr create-repository --repository-name sum/sum-heimdall aws ecr create-repository --repository-name sum/sum-api-monitoring-agent
イメージをプッシュするには、次のように入力します。
Web モニタリング PSA:
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag> docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-chrome-agent:<agent-tag>
API モニタリング PSA:
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag> docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-api-monitoring-agent:<agent-tag>
Deploy PSA in OpenShift Manually
The application is deployed to the cluster after the images are in the Registry. You use the Helm chart to deploy and create all Kubernetes resources in the required order.
Deploy PSA in OpenShift Using the Automation Script
Before running the PSA installation script:
- Create an OpenShift cluster and configure the cluster in Kubeconfig.
- Log in to the image registry.
- Download the pyyaml package v6.01.
Perform the following steps to install PSA:
トラブルシューティング
ポッド構成に誤りがある場合、特定の問題が発生する可能性があります。以下の表に、問題と、それらを解決するための手順を示します。
| 問題 | 解像度 |
|---|---|
|
SeccompProfile 設定による PodSecurity 違反。 警告メッセージ
CODE
|
以下の手順を実行します。
|
|
runAsUser の値が許可された範囲から外れています。 警告メッセージ
CODE
|
runAsUser の値を適切な範囲に変更します。
|
Kubernetes クラスタのモニタリング
ダウンロードした zip 内の Helm チャート sum-psa-monitoring.tgz により、モニタリングスタックがインストールされます。この Helm チャートは、Private Simple Synthetic Agent をモニタするためのカスタム Grafana ダッシュボードとともに kube-prometheus-stack をインストールします。
モニタリングスタックのインストール
PSA のアンインストール
PSA をアンインストールするには、次のコマンドを実行します。
./uninstall_psa -e openshift -p
Red Hat OpenShift での PSA のアップグレード
プライベート合成エージェントのアップグレード
PSA をアップグレードするには、次の手順を実行します。
Docker イメージのプル
DockerHub から sum-chrome-agent、sum-api-monitoring-agent、sum- heimdall の既成の Docker イメージをプルします。既成イメージには依存ライブラリが含まれているため、インターネットにアクセスできない場合でもこれらのイメージを使用できます。
次のコマンドを実行して、エージェントイメージをプルします。
docker pull appdynamics/heimdall-psa
docker pull appdynamics/chrome-agent-psa
docker pull appdynamics/api-monitoring-agent-psa
カスタム Python ライブラリの追加
この手順は任意です。使用可能な標準ライブラリセットに加えて、スクリプト測定で使用するカスタム Python ライブラリをエージェントに追加できます。ベースイメージとしてロードしたイメージに基づいて新しいイメージをビルドします。
-
Dockerfile を作成し、
pythonpipを実行するRUNディレクティブを作成します。たとえば、algorithmsライブラリをインストールするには、次のように Dockerfile を作成できます。CODE# Use the sum-chrome-agent image you just loaded as the base image FROM appdynamics/chrome-agent-psa:<agent-tag> USER root RUN apk add py3-pip USER appdynamics # Install algorithm for python3 on top of that RUN python3 -m pip install algorithms==0.1.4 --break-system-packages注: 任意の数の ディレクティブを作成して、必要なライブラリをインストールできます。 -
新しいイメージを作成するには、次のコマンドを実行します。[Web モニタリング PSA ]:API モニタリング PSA:CODE
docker build -t sum-chrome-agent:<agent-tag> - < DockerfileKubernetes クラスタノードと同じ OS タイプのホストでイメージをビルドする必要があります。たとえば、イメージを AWS にプッシュする場合は、次のコマンドを実行します。CODEdocker build -f Dockerfile-PSA-Openshift -t sum-api-monitoring-agent:<agent-tag> .新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。CODEdocker buildx build -f Dockerfile-PSA-Openshift --platform=linux/amd64 -t sum-api-monitoring-agent:<api-tag> .
クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。Amazon EKS クラスタは、AWS が提供するマネージドレジストリである Elastic Container Registry(ECR)からイメージをプルします。
Vanilla K8S は AWS インフラストラクチャで実行されるため、Kubernetes Operations(kops)が適切なロールを作成してクラスタノードに割り当て、それらは ECR に直接アクセスできます。その他の設定は必要ありません。そのため、プロセスは、EC2 を使用する EKS と Vanilla K8S の両方で同じです。
イメージにタグを付けるには、次のように入力します。
docker tag sum-heimdall:<heimdall-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag>
docker tag sum-chrome-agent:<agent-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-chrome-agent:<agent-tag>
docker tag sum-api-monitoring-agent:<agent-tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-api-monitoring-agent:<agent-tag>
と をアカウント ID とリージョンの値に置き換える必要があります。
リポジトリを作成するには、次のように入力します。
aws ecr create-repository --repository-name sum/sum-heimdall
aws ecr create-repository --repository-name sum/sum-chrome-agent
aws ecr create-repository --repository-name sum/sum-api-monitoring-agent
イメージをプッシュするには、次のように入力します。
aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall:<heimdall-tag>
docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-chrome-agent:<agent-tag>
docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-api-monitoring-agent:<agent-tag>
Helm チャートの更新
次の values.yaml の手順に従って、values.yaml ファイル内の設定キーと値のペアを更新します。
PSA のアップグレード
-
新しい Linux ディストリビューション フォルダに移動して、次のコマンドを実行します。CODE
helm install synth ignite-psa.tgz --values values-ignite.yaml --namespace measurement -
Ignite ポッドのステータスが
runningに変わるまで待ちます。その後、次のコマンドを実行します。CODEhelm upgrade heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement -
新しい Heimdall ポッドと Ignite ポッドのステータスが
runningに変更されたら、古い Ignite 名前空間をアンインストールします。CODEhelm uninstall synth -n ignite