Download PDF
Download page Red Hat OpenShift での PSA の設定.
Red Hat OpenShift での PSA の設定
Red Hat OpenShift で Web モニタリング PSA を展開するには、Amazon EKS または Azure AKS で OpenShift クラスタを作成する必要があります。次のいずれかの方法で PSA を設定できます。
手動展開 | 自動化スクリプトを使用した展開 |
---|---|
このマニュアルには、AWS CLI のマニュアルへのリンクが記載されています。AWS CLI でそのマニュアルが管理されているため、AppDynamics は AWS CLI のマニュアルの正確さについては責任を負いません。
自動化スクリプトを使用する場合は、OpenShift クラスタとノードを手動で設定し、PSA を展開する前にコンテナレジストリにログインする必要があります。
Docker イメージのビルドとカスタマイズ
(オプション)プロキシサーバーの設定
プロキシサーバーを設定すると、すべてのドメインに適用されます。
values.yaml
ファイルにプロキシサーバーアドレスを指定して、プロキシサーバーを設定します。「キーと値のペアの設定」を参照してください。
docker イメージのビルド後に bypass_list
に変更を加えた場合は、docker イメージを再ビルドする必要があります。
プロキシサーバーからドメインをバイパスするには、次の手順を実行します。
バイパスリストの設定は、Web モニタリング PSA でのみサポートされています。
sum-chrome-agent/agent
ディレクトリに移動します。chrome.py
ファイルを開きます。次の文字列に移動します。
if self._proxy_server: chrome_options.add_argument('--proxy-server={}'.format(self._proxy_server))
CODE次の詳細を追加します。
bypass_list = ["*abc.com", "*xyz1.com", "*xyz2.com"] chrome_options.add_argument('--proxy-bypass-list=%s' % ";".join(bypass_list))
CODEbypass_list
で指定したドメイン URL は、プロキシサーバーにリダイレクトされません。bypass_list
に任意の数のドメインを追加できます。他のすべての指定されていないドメイン URL は、プロキシサーバーにリダイレクトされます。docker イメージのビルド後に
bypass_list
に変更を加えた場合は、docker イメージを再ビルドする必要があります。
PSA Docker イメージのビルドとカスタマイズ
Simple Synth PSA のインストール用の zip ファイルは、Appdynamics ダウンロードポータルまたはベータアップロードツールからダウンロードできます。
このファイルには、エージェントのインストールとモニタリングの設定のための Dockerfile が含まれています。
- Web Monitoring PSA:sum-chrome-agent、sum-heimdall、および Helm チャートの Dockerfile
sum-chrome-agent および sum-heimdall のイメージをビルドする場合は、Docker がインストールされていることを確認します。インストールされていない場合は、こちらから Docker をダウンロードしてインストールできます。
sum-chrome-agent の場合:
- zip ファイルを解凍して、sum-chrome-agent ディレクトリにアクセスします。
ディレクトリに移動して、次のコマンドを実行します。
docker build -f Dockerfile-PSA-Openshift -t sum-chrome-agent:<agent-tag> .
CODE
sum-heimdall の場合:
- zip ファイルを解凍して、sum-heimdall ディレクトリにアクセスします。
Openshift-PSA ディレクトリに移動して、次のコマンドを実行します。
docker build -f Dockerfile-PSA-Openshift -t sum-heimdall:<heimdall-tag> .
CODE
<heimdall-tag> および <agent-tag> には、任意の値を使用できます。ただし、以降の手順で同じ値を使用します。
M1 チップを搭載した macOS を使用している場合は、次のコマンドを使用します。
sum-chrome-agent
docker buildx build -f Dockerfile-PSA-Openshift --platform=linux/amd64 -t sum-chrome-agent:<agent-tag> .
sum-heimdall
docker buildx build -f Dockerfile-PSA-Openshift --platform=linux/amd64 -t sum-heimdall:<heimdall-tag> .
(オプション)カスタム Python ライブラリの追加
このセクションは、Web モニタリング PSA にのみ適用されます。
使用可能な標準ライブラリセットに加えて、スクリプト測定で使用するカスタム Python ライブラリをエージェントに追加できます。ベースイメージとしてロードしたイメージに基づいて新しいイメージをビルドします。
Dockerfile を作成してから、
python
pip
を実行するRUN
ディレクティブを作成します。たとえば、algorithms
ライブラリをインストールするには、次のように Dockerfile を作成します。# Use the sum-chrome-agent image we just loaded as the base image FROM sum-chrome-agent:<agent-tag> # Install algorithm for python3 on top of that RUN python3 -m pip install algorithms==0.1.4 # We can add more RUN directives for installing more libraries # RUN python3 -m pip install ...
CODE任意の数の
RUN
ディレクティブを作成して、必要なライブラリをインストールできます。新しいイメージをビルドするには、次のように入力します。
docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
CODE新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。
イメージのタグ付けとレジストリへのプッシュ
クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。Amazon EKS クラスタは、AWS が提供するマネージドレジストリである Elastic Container Registry(ECR)からイメージをプルします。
イメージにタグを付けるには、次のように入力します。
Web Monitoring 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>
<aws_account_id>
と <region>
をアカウント ID とリージョンの値に置き換える必要があります。
リポジトリを作成するには、次のように入力します。
Web Monitoring PSA:
aws ecr create-repository --repository-name sum/sum-heimdall
aws ecr create-repository --repository-name sum/sum-chrome-agent
イメージをプッシュするには、次のように入力します。
Web Monitoring 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>
OpenShift での PSA の手動展開
イメージがレジストリに登録されると、アプリケーションはクラスタに展開されます。Helm チャートを使用して、必要な順序ですべての Kubernetes リソースを展開して作成します。
次の手順に従って、Helm をインストールします。
Apache Ignite ポッドを実行するための新しい
ignite
名前空間を作成します。最初に Apache Ignite のコマンドを実行してから、Heimdall のコマンドを実行してください。
新しい
ignite
名前空間を作成するには、次のように入力します。kubectl create namespace ignite
CODEApache Ignite を展開する前に、いくつかの設定オプションを設定する必要があります。設定オプションを表示するには、すでにダウンロードした
ignite-psa.tgz
ファイルに移動し、次のように入力します。helm show values ignite-psa.tgz > values-ignite.yaml
CODE永続化を有効にする場合は、
persistence > enabled
を設定します。この設定は、オプションです。上記の設定を使用して Helm チャートを展開するには、すでにダウンロードした
ignite-psa.tgz
ファイルに移動し、次のように入力します。helm install synth ignite-psa.tgz --values values-ignite.yaml --namespace ignite
CODEすべての Kubernetes リソースがクラスタに作成され、Apache Ignite を使用できます。数秒後、Apache Ignite が初期化され、コントローラに表示されます。
ポッドが実行されているかどうかを確認するには、次のように入力します。
kubectl get pods --namespace ignite
CODEApache Ignite ポッドが正常に実行された後にのみ、次の手順に進みます。
Heimdall および測定ポッドを実行するための新しい
measurement
名前空間を作成します。
新しいmeasurement
名前空間を作成するには、次のように入力します。kubectl create namespace measurement
CODE1 つのコマンドを使用して、展開の詳細を含む Helm チャートを展開できます。エージェントを展開するには、以前にダウンロードした zip ファイルの Helm チャート
sum-psa-heimdall.tgz
を使用します。Private Synthetic Agent を展開する前に、いくつかの設定オプションを設定する必要があります。設定オプションを表示するには、すでにダウンロードしたsum-psa-heimdall.tgz
ファイルに移動し、次のように入力します。helm show values sum-psa-heimdall.tgz > values.yaml
CODE以下は、
values.yaml
ファイルで編集する必要がある設定キーと値のペアです。Web Monitoring PSA:
設定キー
値
heimdall > repository
<aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-heimdall
heimdall > tag
<heimdall-tag>
heimdall > pullPolicy
Always
chromeAgent > repository
<aws_account_id>.dkr.ecr.<region>.amazonaws.com/sum/sum-chrome-agent
chromeAgent > tag
<agent-tag>
shepherd > url
Shepherd URL
shepherd > credentials
credentials
shepherd > location
agent location
残りの値はデフォルトのままにすることも、要件に基づいて設定することもできます。シェパード URL、ログイン情報、場所、およびオプションのキーと値のペアの詳細については、「Configure Web Monitoring PSA and API Monitoring PSA」を参照してください。
Kubernetes クラスタがロックダウンされていて、クラスタ全体の設定を行うことができない場合は、ポッドレベルの変更を行うことができます。
たとえば、ポッドレベルの DNS サーバー設定を変更して、DNS 名の解決に内部ネームサーバーを使用する場合は、
values.yaml
ファイルで次の詳細を指定します。agentDNSConfig: enabled: true dnsPolicy: "None" dnsConfig: nameservers: ["4.4.4.4"] searches: ["svc.cluster.local", "cluster.local"]
CODE複数のネームサーバーを追加する必要がある場合は、次の手順を実行します。
values.yaml
ファイルでdnsPolicy
を"None"
に設定します。agentDNSConfig: enabled: true dnsPolicy: "None" dnsConfig: nameservers: ["1.1.1.1", "2.2.2.2", "3.3.3.3"] searches: ["measurement.svc.cluster.local", "svc.cluster.local", "cluster.local"]
CODEnameservers
で指定された最初のネームサーバーがcluster-default
ネームサーバーであることを確認します。- アップストリーム
coredns
ポリシーをsequential.
に設定します。詳細については、coredns を参照してください。
上記の設定を使用して Helm チャートを展開するには、すでにダウンロードした
sum-psa-heimdall.tgz
ファイルに移動し、次のように入力します。helm install heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement
CODEすべての Kubernetes リソースがクラスタに作成され、Heimdall を使用できます。数秒後、Heimdall が初期化され、コントローラに表示されます。
ポッドが実行されているかどうかを確認するには、次のように入力します。
kubectl get pods --namespace measurement
CODE初期導入後に
values.yaml
に変更を加えるには、すでにダウンロードしたsum-psa-heimdall.tgz
ファイルに移動して、次のように入力します。helm upgrade heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement
CODE展開を削除するには、次のコマンドを実行します。
helm uninstall heimdall-onprem --namespace measurement
CODEこれは、必要でない限り推奨されません。
自動化スクリプトを使用した OpenShift での PSA の展開
Prerequisites
PSA インストールスクリプトを実行する前に、次の手順を実行します。
- OpenShift クラスタを作成し、Kubeconfig でクラスタ を設定します。
- イメージレジストリにログインします。
pyyaml
パッケージ v6.01 をダウンロードします。
以下の手順を実行して、PSA をインストールします。
- PSA インストール zip ファイルを解凍します。
以下のコマンドを実行して、PSA をインストールします。
./install_psa -e openshift -l -v -u <Shepherd-URL> -a <EUM-account> -k <EUM-key> -c <location-code> -d <location-description> -t <location-name> -s <location-state> -o <location-country> -i <location-latitude> -g <location-longitude> -p <PSA-tag> -r <heimdall-replica-count> -z <agent-type> -m <chrome-agent_min/max-memory> -x <chrome-agent_min/max-CPU> -b <heimdall_min/max-memory> -f <heimdall_min/max-CPU> -q <ignite-persistence> -j <ingress_and_egress_bandwidth> -w <heimdall_proxy_server>~<web_monitoring_proxy_server>
CODEサンプルのインストールコマンドを次に示します。
./install_psa -e openshift -u <Shepherd-URL> -a <EUM-account> -k <EUM-key> -c DEL -d Delhi -t Delhi -s DEL -o India -i 28.70 -g 77.10 -p 23.5 -r 1 -z all -m 100Mi/500Mi -x 0.5/1.5 -b 2Gi/2Gi -f 2/2 -q true -j 2048k -w 127.0.0.1:8887~127.0.0.1:8888~127.0.0.1:8889
CODE次の表では、コマンドでのフラグの使用について説明します。説明のアスタリスク(*)は、必須パラメータを示しています。
フラグ 説明 -e 環境
たとえば、Docker、Minikube、または Kubernetes などです。
-l Minkube 環境にイメージをロードします。 -v デバッグモード -u *シェパード URL
-a *EUM アカウント
-k *EUM キー
-c *ロケーションコード
たとえば、デリーの場合は
DEL
、ニューヨークの場合はNY
-d *ロケーションの説明
たとえば、
'Delhi, 100001'
-t *ロケーションの都市
たとえば、Delhi
-s *ロケーションの州
たとえば、カリフォルニアの場合は
CA
-o *ロケーションの国
たとえば、India、United States
-i ロケーションの緯度
たとえば、デリーの場合は
28.70
-g ロケーションの経度
たとえば、デリーの場合は
77.10
-p *PSA リリースタグ
たとえば、
23.5
-r Heimdall レプリカ数 -z エージェント タイプ
たとえば、web、api、または all
-m
sum-chrome-agent
の Mi/Gi の最小/最大メモリ-x sum-chrome-agent
の最小/最大 CPU-b sum-heimdall
の Mi/Gi の最小/最大メモリ-f sum-heimdall
の最小/最大 CPU-q true
またはfalse
を指定して、Ignite Persistence を有効または無効にします。-j API モニタリングエージェントの入力および出力帯域幅に単一の値を指定します。OpenShift のデフォルト値は 1024k です。AppDynamics では、OpenShift 展開での値以上の値を維持することをお勧めします。 -w Heimdall および Web モニタリング用のプロキシ サーバーをチルダ(~)で区切って指定します。
プロキシサーバーを設定する必要がない場合は、空白のままにすることができます。
- プロンプトが表示されたら、Docker レジストリ URL を指定します。
Kubernetes クラスタのモニタリング
ダウンロードした zip 内の Helm チャート sum-psa-monitoring.tgz
により、モニタリングスタックがインストールされます。この Helm チャートは、Private Simple Synthetic Agent をモニタするためのカスタム Grafana ダッシュボードとともに kube-prometheus-stack をインストールします。
この展開のモニタリングはオプションです。ただし、クラスタをモニターして正常性を定期的に確認することを強く推奨します。
モニタリングスタックのインストール
別の
monitoring
名前空間を作成するには、次のように入力します。kubectl create namespace monitoring
CODE設定オプションを確認するには、次のように入力します。
helm show values sum-psa-monitoring.tgz > values-monitoring.yaml
CODEこれにより、すべての設定オプションを含む
values-monitoring.yaml
ファイルが生成されます。Helm チャートのインストール中に生成されたvalues-monitoring
.yaml
ファイルを変更して渡すには、次のように入力します。oc adm policy add-scc-to-group anyuid system:authenticated
CODEhelm install psa-monitoring sum-psa-monitoring.tgz --values values-monitoring.yaml --namespace monitoring
CODEモニタリングスタックをインストールした後、(クラスタ内で実行される)Grafana を起動してダッシュボードを表示できます。クラスタ外から Grafana にアクセスするには、ポートフォワーディングを設定するか、Ingress を設定します。ローカルにアクセスするようにポートフォワーディングを設定するには、次のように入力します。
kubectl port-forward svc/psa-monitoring-grafana 3000:80 --namespace monitoring
CODEブラウザから localhost:3000 を起動し、デフォルトのログイン情報(ユーザー名:admin、パスワード:
prom-operator.
)を使用して、ログインします。Private Simple Synthetic Agent という名前のダッシュボードに、Kubernetes クラスタ、Apache Ignite、Heimdall、および実行中の測定に関する詳細が表示されます。
PSA のアンインストール
PSA をアンインストールするには、次のコマンドを実行します。
./uninstall_psa -e openshift -p