Download PDF
Download page Azure AKS での PSA の設定.
Azure AKS での PSA の設定
次のように、Azure AKS での Web モニタリング PSA と API モニタリング PSA を設定します。既存の Kubernetes クラスタで PSA を設定する場合は、「Kubernetes クラスタの作成」セクションをスキップします。
手動展開 | 自動化スクリプトを使用した展開 |
---|---|
このページには、Azure CLI のマニュアルへのリンクが含まれています。Azure CLI で自身のマニュアルを管理しているため、Splunk AppDynamics では Azure CLI のマニュアルの精度については一切保証しません。
PSA は、パブリッククラウドまたはプライベートクラウドの既存の Kubernetes クラスタに展開できます。自動化スクリプトでは、Kubernetes クラスタの作成はサポートされていません。
- 自動化スクリプトを使用する場合は、Kubernetes クラスタとノードを手動で設定し、PSA を展開する前にコンテナレジストリにログインする必要があります。
- 別のレジストリを使用する場合は、PSA を展開する前に、自動化スクリプトでレジストリを指定します。
install_psa
ファイルを開き、push_images_to_docker_registry()
関数に移動します。- この関数の下で、${DOCKER_REGISTRY_URL}/ の後に、
sum-chrome-agent
、sum-api-monitoring-agent,
、およびsum-heimdall.
のレジストリ名を指定します。 generate_psa_k8s_deployment()
関数の下で、YAML 値のリポジトリ名を更新します。
- Kubernetes クラスタノードと同じ OS タイプのホストでイメージをビルドする必要があります。
Kubernetes クラスタの作成
Azure AKS で Kubernetes クラスタを作成するには、次の手順を実行します。
Azure CLI をインストールして認証します。
リソースグループを作成するには、次のように入力します。
RESOURCE_GROUP=heimdall-onprem az group create --name $RESOURCE_GROUP --location eastus
CODEコンテナレジストリを作成するには、次のように入力します。
ACR_NAME=heimdallonprem az acr create --resource-group $RESOURCE_GROUP --name $ACR_NAME --sku Basic
CODEクラスタを作成するには、次のように入力します。
CLUSTER_NAME=heimdall-onprem az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-managed-identity \ --kubernetes-version 1.x.x \ --node-count 4 \ --node-vm-size Standard_D8s_v3 \ --generate-ssh-keys \ --attach-acr $ACR_NAME
CODE上記のコードの
kubernetes-version
を、サポートされているバージョンのいずれかに置き換えます。サポートされている Kubernetes のバージョンを参照してください。上記のコードの
node-vm-size
とnode-count
は、推奨される設定タイプに従って選択されます。異なるタイプとノード数で、任意の設定を指定できます。 node-vm-size を参照してください。--attach-acr
コマンドを実行するには、Azure サブスクリプションの所有者または管理者である必要があります。
クラスタへのアクセス
Kubernetes クラスタにアクセスするには、次の手順に従って、クラスタとの対話型ユーティリティである kubectl をインストールします。
クラスタが実行されていることを確認するには、次のように入力します。
kubectl get nodes
(オプション)プロキシサーバーの設定
プロキシサーバーを設定すると、すべてのドメインに適用されます。values.yaml
ファイルにプロキシサーバーアドレスを指定して、プロキシサーバーを設定します。「キーと値のペアの設定」を参照してください。
プロキシサーバーからドメインをバイパスするには、次の手順を実行します。
バイパスリストの設定は、Web モニタリング PSA でのみサポートされています。
values.yaml
ファイルを開きます。browserMonitoringAgent:
の下のbypassList
フィールドにドメイン URL を追加しますbrowserMonitoringAgent: enabled: true server: "<proxy server address>" bypassList: "<specify the domain URLs that you want to bypass separated by semicolon>"
CODEたとえば、
bypassList: "*abc.com;*xyz1.com;*xyz2.com"
bypassList
で指定したドメイン URL は、プロキシサーバーにリダイレクトされません。bypassList
に任意の数のドメインを追加できます。他のすべての指定されていないドメイン URL は、プロキシサーバーにリダイレクトされます。
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 ライブラリの追加
このセクションは、Web モニタリング PSA にのみ適用されます。
標準ライブラリセットに加えて、スクリプト測定用のカスタム 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
CODE任意の数の
RUN
ディレクティブを作成して、必要なライブラリをインストールできます。新しいイメージをビルドするには、次のように入力します。
docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
CODE新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。
イメージのタグ付けとレジストリへのプッシュ
クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。クラスタの作成時に ACR_NAME
環境変数を使用する必要があります。
イメージにタグを付けるには、次のように入力します。
Web Monitoring PSA:
ACR_LOGIN_SERVER=$ACR_NAME.azurecr.io
docker tag appdynamics/heimdall-psa:<heimdall-tag> $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker tag appdynamics/chrome-agent-psa:<agent-tag> $ACR_LOGIN_SERVER/sum-chrome-agent:<agent-tag>
API Monitoring PSA:
ACR_LOGIN_SERVER=$ACR_NAME.azurecr.io
docker tag appdynamics/heimdall-psa:<heimdall-tag> $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker tag appdynamics/api-monitoring-agent-psa:<agent-tag> $ACR_LOGIN_SERVER/sum-api-monitoring-agent:<agent-tag>
イメージをプッシュするには、次のように入力します。
Web Monitoring PSA:
az acr login --name $ACR_NAME
docker push $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker push $ACR_LOGIN_SERVER/sum-chrome-agent:<agent-tag>
API Monitoring PSA:
az acr login --name $ACR_NAME
docker push $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker push $ACR_LOGIN_SERVER/sum-api-monitoring-agent:<agent-tag>
Web モニタリング PSA および API モニタリング PSA の展開
Web モニタリング PSA および API モニタリング PSA をインストールするときは、それぞれの該当する一連の手順に必ず従ってください。一部の手順は、両方で共通しています。
イメージがレジストリに登録されると、アプリケーションはクラスタに展開されます。Helm チャートを使用して、必要な順序ですべての Kubernetes リソースを展開および作成します。
こちらの手順に従って、Helm をインストールします。
Apache Ignite ポッドを実行するための新しい名前空間を作成します。
最初に Apache Ignite のコマンドを実行してから、Heimdall のコマンドを実行してください。
Ignite の新しい名前空間を作成するには、次のように入力します。
kubectl create namespace measurement
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 measurement
CODEすべての Kubernetes リソースがクラスタに作成され、Apache Ignite を使用できます。数秒後、Apache Ignite が初期化され、コントローラに表示されます。
ポッドが実行されているかどうかを確認するには、次のように入力します。
kubectl get pods --namespace measurement
CODEApache Ignite ポッドが正常に実行された後にのみ、次の手順に進みます。
1 つのコマンドを使用して、展開の詳細を含む 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
$ACR_LOGIN_SERVER/sum-heimdall
heimdall > tag
<heimdall-tag>
heimdall > pullPolicy
Always
chromeAgent > repository
$ACR_LOGIN_SERVER/sum-chrome-agent
chromeAgent > tag
<agent-tag>
shepherd > url
Shepherd URL
shepherd > credentials
credentials
shepherd > location
agent location
API Monitoring PSA:
設定キー
値
heimdall > repository
$ACR_LOGIN_SERVER/sum-heimdall
heimdall > tag
<heimdall-tag>
heimdall > pullPolicy
Always
apiMonitoringAgent > repository
$ACR_LOGIN_SERVER/sum-api-monitoring-agent
apiMonitoringAgent > tag
<agent-tag>
shepherd > url
Shepherd URL
shepherd > credentials
credentials
shepherd > location
agent location
残りの値はデフォルトのままにすることも、要件に基づいて設定することもできます。シェパード URL、ログイン情報、場所、およびオプションのキーと値のペアの詳細については、「Web モニタリング PSA および API モニタリング PSA の設定」を参照してください。
Kubernetes クラスタがロックダウンされていて、クラスタ全体の設定を行うことができない場合は、ポッドレベルの変更を行うことができます。
たとえば、ポッドレベルの DNS サーバー設定を変更して、DNS 名の解決に内部ネームサーバーを使用する場合は、
values.yaml
ファイルで次の詳細を指定します。設定キー 値 agentDNSConfig:
enabled:
true
dnsConfig:
nameservers:
["4.4.4.4"]
searches:
["svc.cluster.local", "cluster.local"]
上記の設定を使用して 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これは、必要でない限り推奨されません。
自動化スクリプトを使用した AKS での PSA の展開
PSA インストール 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 をインストールします。
- PSA インストール zip ファイルを解凍します。
次のコマンドを実行して、AKS で PSA をインストールします。
./install_psa -e kubernetes -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> -n <API-agent_min/max-memory> -x <chrome-agent_min/max-CPU> -y <API-agent_min/max-CPU> -b <heimdall_min/max-memory> -f <heimdall_min/max-CPU> -q <ignite-persistence> -w <heimdall_proxy_server>~<api_monitoring_proxy_server>~<web_monitoring_proxy_server> -B <"bypassURL1;bypassURL2;bypassURL3">
CODEサンプルのインストールコマンドを次に示します。
./install_psa -e kubernetes -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 -n 100Mi/100Mi -x 0.5/1.5 -y 0.1/0.1 -b 2Gi/2Gi -f 2/2 -q true -w 127.0.0.1:8887~127.0.0.1:8888~127.0.0.1:8889 -B "*abc.com;*xyz1.com;*xyz2.com"
CODE
次の表では、コマンドでのフラグの使用について説明します。説明のアスタリスク(*)は、必須パラメータを示しています。
フラグ | 説明 |
---|---|
-e | *環境 たとえば、Docker、Minikube、または Kubernetes などです。 |
-l | Minkube 環境にイメージをロードします。 |
-v | デバッグモード |
-u | *シェパード URL たとえば、https://sum-shadow-master-shepherd.saas.appd-test.com/ シェパード URL のリストについては、「シェパード URL」を参照してください。 |
-a | *EUM アカウント たとえば、 |
-k | *EUM キー たとえば、以下のとおりです。 |
-c | *ロケーションコード たとえば、デリーの場合は |
-d | *ロケーションの説明 たとえば、 |
-t | *ロケーションの都市 たとえば、Delhi |
-s | *ロケーションの州 たとえば、カリフォルニアの場合は |
-o | *ロケーションの国 たとえば、India、United States |
-i | ロケーションの緯度 たとえば、デリーの場合は |
-g | ロケーションの経度 たとえば、デリーの場合は |
-p | *PSA リリースタグ たとえば、 |
-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 を有効または無効にします。 |
-w | Heimdall、API、および Web モニタリング用のプロキシ サーバーをチルダ(~)で区切って指定します。 プロキシサーバーを設定する必要がない場合は、空白のままにすることができます。 |
-B | プロキシサーバーからバイパスするドメイン URL を指定します。 例:"*abc.com;*xyz1.com;*xyz2.com" |
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
ファイルを変更して渡すには、次のように入力します。helm 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 kubernetes -p