Minikube での PSA の設定
- Minikube は単一のマシンにインストールされます。したがって、Minikube で PSA を設定する場合は、スケーラブルでも高可用性でもありません。
- 機能的には、Minikube の PSA と AKS、EKS、またはその他の Kubernetes クラスタの PSA に違いはありません。
次のように、Minikube での Web モニタリング PSA と API モニタリング PSA を設定します。既存の Kubernetes クラスタで PSA を設定する場合は、「Kubernetes クラスタの作成」セクションをスキップします。
| 手動展開 | 自動化スクリプトを使用した展開 |
|---|---|
|
|
Kubernetes クラスタの作成
Minikube で Kubernetes クラスタを作成するには、次の手順を実行します。
Kubernetes クラスタにアクセスするには、次の手順に従って、クラスタとの対話型ユーティリティである kubectl をインストールします。
クラスタが実行されていることを確認するには、次のように入力します。
kubectl get nodes
(オプション)プロキシサーバーの設定
プロキシサーバーを設定すると、すべてのドメインに適用されます。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または、Splunk AppDynamics Download Center から .tar ファイルをダウンロードすることもできます。このファイルには、sum-chrome-agent、sum-api-monitoring-agent、sum-heimdall、ignite、および依存ライブラリの事前ビルド済み Docker イメージが含まれています。したがって、インターネットや DockerHub にアクセスできない場合にこれらのイメージを使用できます。
.tar ファイルを解凍し、次のコマンドを使用してイメージをロードします。- sum-chrome-agent:
docker load < ${webAgentTag} - sum-api-monitoring-agent:
docker load < ${apiAgentTag} - sum-heimdall:
docker load < ${heimdallTag} - ignite:
docker load < ${igniteTag}
# Load all Docker images
docker load -i heimdall-25.7.3098.tar
docker load -i api-monitoring-agent-1.0-415.tar
docker load -i chrome-agent-1.0-1067.tar
docker load -i ignite-2.16.0-jdk11.tardocker images | grep -E "(heimdall|api-monitoring|chrome-agent|ignite)"```
829771730735.dkr.ecr.us-west-2.amazonaws.com/sum/heimdall 25.7.3098 abc123def456 2 hours ago 500MB
829771730735.dkr.ecr.us-west-2.amazonaws.com/sum/api-monitoring-agent 1.0-415 def456ghi789 2 hours ago 300MB
829771730735.dkr.ecr.us-west-2.amazonaws.com/sum/chrome-agent 1.0-1067 ghi789jkl012 2 hours ago 800MB
apacheignite/ignite 2.16.0 jkl012mno345 2 hours ago 400MB
```(オプション)カスタム Python ライブラリの追加
使用可能な標準ライブラリセットに加えて、スクリプト測定で使用するカスタム Python ライブラリをエージェントに追加できます。ベースイメージとしてロードしたイメージに基づいて新しいイメージをビルドします。
-
Dockerfile を作成し、Python pip を実行する
RUNディレクティブを作成します。たとえば、algorithmsライブラリをインストールするには、次のように Dockerfile を作成します。# 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注: 任意の数の ディレクティブを作成して、必要なライブラリをインストールできます。 -
新しいイメージをビルドするには、次のように入力します。
新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
Minikube の Docker デーモンへのイメージの保存
クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。Minikube の Docker にイメージを保存するには、次のコマンドを実行します。
docker save appdynamics/heimdall-psa:<heimdall-tag> | (eval $(minikube docker-env) && docker load)
docker save appdynamics/chrome-agent-psa:<agent-tag> | (eval $(minikube docker-env) && docker load)
docker save appdynamics/heimdall-psa:<heimdall-tag> | (eval $(minikube docker-env) && docker load)
docker save appdynamics/api-monitoring-agent-psa:<agent-tag> | (eval $(minikube docker-env) && docker load)
PSA の手動展開
イメージがレジストリに登録されると、アプリケーションはクラスタに展開されます。Helm チャートを使用して、必要な順序ですべての Kubernetes リソースを展開および作成します。
自動化スクリプトを使用した PSA の展開
Splunk AppDynamicsPSA インストール zip ファイルを、Cisco AppDynamics ダウンロードセンターまたはベータアップロードツールからダウンロードします。このファイルには、sum-chrome-agent、sum-api-monitoring-agent、sum-heimdall、Helm チャート、および自動化スクリプトの Docker ファイルが含まれています。sum-chrome-agent、sum-api-monitoring-agent、および sum-heimdall のイメージをビルドする場合は、Docker がインストールされていることを確認します。インストールされていない場合は、ここから Docker をダウンロードしてインストールできます。
以下の手順を実行して、PSA をインストールします。
| フラグ | 説明 |
|---|---|
| -e | *環境 たとえば、Docker、Minikube、または Kubernetes などです。 |
| -l | *Minkube 環境にイメージをロードします |
| -v | デバッグモード |
| -u | *シェパード URL たとえば、https://sum-shadow-master-shepherd.saas.appd-test.com/ シェパード URL のリストについては、「シェパード URL」を参照してください。 |
| -a | *EUM アカウント たとえば、Ati-23-2-saas-nov2 |
| -k | *EUM キー たとえば、2d35df4f-92f0-41a8-8709-db54eff7e56c |
| -c | *ロケーションコード たとえば、DEL NY |
| -d | *ロケーションの説明 たとえば、「Delhi, 100001」 |
| -t | *ロケーションの都市 たとえば、Delhi |
| -s | *ロケーションの州 たとえば、CA |
| -o | *ロケーションの国 たとえば、India、United States |
| -i | ロケーションの緯度 たとえば、28.70 |
| -g | ロケーションの経度 たとえば、77.10 |
| -p | *PSA リリースタグ たとえば、23.12 |
| -r | *Heimdall レプリカ数 |
| -z | *エージェントタイプ たとえば、web、api、または all |
-m | *sum-chrome-agent の最小/最大メモリ(Mi/Gi 単位) |
| -n | *sum-api-monitoring-agent の最小/最大メモリ(Mi/Gi 単位) |
| -x | *sum-chrome-agent の最小/最大 CPU |
| -y | *sum-api-monitoring-agent の最小/最大 CPU |
| -b | *sum-heimdall の最小/最大メモリ(Mi/Gi 単位) |
| -f | *sum-heimdall の最小/最大 CPU |
| -q | true または false を指定して、Ignite Persistence を有効または無効にします。 |
| -j | API モニタリングポッドの入力および出力帯域幅の値。 |
| -w | Heimdall、API、および Web モニタリング用のプロキシ サーバーをチルダ(~)で区切って指定します。 プロキシサーバーを設定する必要がない場合は、空白のままにすることができます。 |
| -B | プロキシサーバーからバイパスするドメイン URL を指定します。 例:"*abc.com;*xyz1.com;*xyz2.com" |
| -C | Chrome ブラウザでのパフォーマンスログを有効にするには true を指定します。デフォルト値は false です。 |
| -A | sum-chrome-agent および sum-api-monitoring-agent ポッドのサービスアカウントを指定します。 |
| -U | sum-chrome-agent または sum-api-monitoring-agent コンテナを実行するユーザー ID を指定します。 |
| -G | sum-chrome-agent または sum-api-monitoring-agent コンテナを実行するグループ ID を指定します。 |
| -N | sum-chrome-agent または sum-api-monitoring-agent コンテナを非ルートユーザーとして実行するかどうかを指定します。デフォルト値は true です。 |
| -F | sum-chrome-agent または sum-api-monitoring-agent コンテナのファイルシステムグループ ID を指定します。 |
| -O | Web および API モニタリングのセキュリティコンテキストをオーバーライドするには、true を指定します。デフォルト値は false です。 |
Kubernetes クラスタのモニタリング
カスタムの Grafana ダッシュボードと共に、Helm チャート sum-psa-monitoring.tgz kube-prometheus-stackを使用して、Private Simple Synthetic Agent を監視します。
モニタリングスタックのインストール
-
別の
モニタリング名前空間を作成するには、以下のように入力します。
設定オプションを確認するには、次のように入力します。kubectl create namespace monitoring
これにより、すべての設定オプションを含むhelm show values sum-psa-monitoring.tgz > values-monitoring.yamlvalues-monitoringファイルが生成されます。Helm チャートのインストール中に生成されたvalues-monitoringファイルを変更して渡すには、次のように入力します。helm install psa-monitoring sum-psa-monitoring.tgz --values values-monitoring.yaml --namespace monitoring -
モニタリングスタックをインストールした後、(クラスタ内で実行される)Grafana を起動してダッシュボードを表示できます。クラスターの外部から Grafana にアクセスするには、ポートフォワーディングを設定するか、Ingress を設定します。ローカルにアクセスするようにポートフォワーディングを設定するには、次のように入力します。
kubectl port-forward svc/psa-monitoring-grafana 3000:80 --namespace monitoring -
ブラウザから localhost:3000 を起動し、デフォルトのログイン情報(ユーザー名:
admin、パスワード:prom-operator)を使用してログインします。Private Simple Synthetic Agent という名前のダッシュボードに、Kubernetes クラスタ、Apache Ignite、Heimdall、および実行中の測定に関する詳細が表示されます。
PSA のアンインストール
PSA をアンインストールするには、次のコマンドを実行します。
./uninstall_psa -e -p -m
次の表では、コマンドでのフラグの使用について説明します。
| フラグ | 説明 |
|---|---|
| -e |
環境 たとえば、Docker、Minikube、または Kubernetes などです。 |
| -p | PSA のみをアンインストールします。 |
| -m | PSA と Minikube をアンインストールします。 |
Minikube での 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 を作成できます。# 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 Monitoring PSA:
新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。API モニタリング PSA:docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。docker build -f Dockerfile-PSA -t sum-api-monitoring-agent:<monitoring-tag> .
イメージのタグ付けとレジストリへのプッシュ
イメージにタグを付けるには、次のように入力します。
docker save sum-heimdall:<heimdall-tag> | (eval $(minikube docker-env) && docker load)
docker save sum-chrome-agent:<agent-tag> | (eval $(minikube docker-env) && docker load)
docker save sum-api-monitoring-agent:<agent-tag> | (eval $(minikube docker-env) && docker load)
Helm チャートの更新
次の values.yaml の手順に従って、values.yaml ファイル内の設定キーと値のペアを更新します。
PSA のアップグレード
-
新しい Linux ディストリビューション フォルダに移動して、次のコマンドを実行します。
helm install synth ignite-psa.tgz --values values-ignite.yaml --namespace measurement -
Ignite ポッドのステータスが
runningに変わるまで待ちます。その後、次のコマンドを実行します。helm upgrade heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement -
新しい Heimdall ポッドと Ignite ポッドのステータスが
runningに変更されたら、古い Ignite 名前空間をアンインストールします。helm uninstall synth -n ignite