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>
OpenShift での PSA の手動展開
イメージがレジストリに登録されると、アプリケーションはクラスタに展開されます。Helm チャートを使用して、必要な順序ですべての Kubernetes リソースを展開および作成します。
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