次のように、Azure AKS での Web モニタリング PSA と API モニタリング PSA を設定します。

  1. Kubernetes クラスタを作成します
  2. Docker イメージをビルドしてカスタマイズします。。
  3. イメージにタグを付け、レジストリにプッシュします
  4. Web モニタリング PSA と API モニタリング PSA を展開します。
  5. Kubernetes クラスタをモニタします

ほとんどの手順は、Web モニタリング PSA と API モニタリング PSA の両方に共通です。該当する場合は、手順の違いが強調表示されています。

このマニュアルには、Azure CLI のマニュアルへのリンクが記載されています。Azure CLI でそのマニュアルが管理されているため、AppDynamics は Azure CLI のマニュアルの正確さについては責任を負いません。

Kubernetes クラスタの作成

Azure AKS で Kubernetes クラスタを作成するには、次の手順を実行します。

  1. Azure CLI をインストールして認証します

  2. リソースグループを作成するには、次のように入力します。

    RESOURCE_GROUP=heimdall-onprem
    az group create --name $RESOURCE_GROUP --location eastus
    CODE
  3. コンテナレジストリを作成するには、次のように入力します。

    ACR_NAME=heimdallonprem
    az acr create --resource-group $RESOURCE_GROUP --name $ACR_NAME --sku Basic
    CODE
  4. クラスタを作成するには、次のように入力します。

    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-sizenode-count は、推奨される設定タイプに従って選択されます。異なるタイプとノード数で、任意の設定を指定できます。 node-vm-size を参照してください。 

    --attach-acr コマンドを実行するには、Azure サブスクリプションの所有者または管理者である必要があります。

クラスタへのアクセス

Kubernetes クラスタにアクセスするには、次の手順に従って、クラスタとの対話型ユーティリティである kubectl をインストールします。

クラスタが実行されていることを確認するには、次のように入力します。

kubectl get nodes
CODE

Docker イメージのビルドとカスタマイズ

Simple Synth PSA のインストール用の zip ファイルは、Appdynamics ダウンロードポータルまたはベータアップロードツールからダウンロードできます。

このファイルには、エージェントのインストールとモニタリングの設定のための Dockerfile が含まれています。

  • Web Monitoring PSA::sum-chrome-agent、sum-heimdall、および Helm チャートの Dockerfile
  • API Monitoring PSA::synth-api-monitoring-agent、sum-heimdall、および Helm チャートの Dockerfile

sum-chrome-agent、synth-api-monitoring-agent、および sum-heimdall のイメージをビルドする場合は、Docker がインストールされていることを確認します。インストールされていない場合は、ここから Docker をダウンロードしてインストールできます。 

sum-chrome-agent の場合:

  1. zip ファイルを解凍して、sum-chrome-agent ディレクトリにアクセスします。
  2. ディレクトリに移動して、次のコマンドを実行します。

    docker build -f Dockerfile-PSA -t sum-chrome-agent:<agent-tag> .
    CODE

synth-api-monitoring-agent の場合:

  1. zip ファイルを解凍して、synth-api-monitoring-agent ディレクトリにアクセスします。
  2. ディレクトリに移動して、次のコマンドを実行します。

    docker build -f Dockerfile-PSA -t synth-api-monitoring-agent:<agent-tag> .
    CODE

sum-heimdall の場合:

  1. zip ファイルを解凍して、sum-heimdall ディレクトリにアクセスします。 
  2. このディレクトリに移動して、次のコマンドを実行します。

    docker build -f Dockerfile-PSA -t sum-heimdall:<heimdall-tag> .
    CODE

<heimdall-tag> および <agent-tag> には、任意の値を使用できます。ただし、以降の手順で同じ値を使用します。

カスタム Python ライブラリの追加

このセクションは、Web モニタリング PSA にのみ適用されます。

標準ライブラリセットに加えて、スクリプト測定用のカスタム Python ライブラリをエージェントに追加できます。カスタム Python ライブラリを追加するには、ダウンロードしたベースイメージを使用してイメージをビルドします。

  1. 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 ディレクティブを作成して、必要なライブラリをインストールできます。

  2. 新しいイメージをビルドするには、次のように入力します。

    docker build -t sum-chrome-agent:<agent-tag> - < Dockerfile
    CODE

    新しくビルドされたエージェントイメージには、必要なライブラリが含まれています。 

イメージのタグ付けとレジストリへのプッシュ

クラスタがアクセスできるように、イメージにタグを付けてレジストリにプッシュする必要があります。クラスタの作成時に ACR_NAME 環境変数を使用する必要があります。

イメージにタグを付けるには、次のように入力します。

Web Monitoring PSA:

ACR_LOGIN_SERVER=$ACR_NAME.azurecr.io
docker tag sum-heimdall:<heimdall-tag> $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker tag sum-chrome-agent:<agent-tag> $ACR_LOGIN_SERVER/sum-chrome-agent:<agent-tag>
CODE

API Monitoring PSA:

ACR_LOGIN_SERVER=$ACR_NAME.azurecr.io
docker tag sum-heimdall:<heimdall-tag> $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker tag synth-api-monitoring-agent:<agent-tag> $ACR_LOGIN_SERVER/synth-api-monitoring-agent:<agent-tag>
CODE


イメージをプッシュするには、次のように入力します。

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>
CODE

API Monitoring PSA:

az acr login --name $ACR_NAME
docker push $ACR_LOGIN_SERVER/sum-heimdall:<heimdall-tag>
docker push $ACR_LOGIN_SERVER/synth-api-monitoring-agent:<agent-tag>
CODE


Web モニタリング PSA および API モニタリング PSA の展開

Web モニタリング PSA および API モニタリング PSA をインストールするときは、それぞれの該当する一連の手順に必ず従ってください。一部の手順は、両方で共通しています。

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

  1. こちらの手順に従って、Helm をインストールします。

  2. Heimdall、Postgres データベース、および測定ポッドを実行する新しい測定名前空間を作成します。

    測定名前空間を作成するには、次のように入力します。

    kubectl create namespace measurement
    CODE

    1 つのコマンドを使用して、展開の詳細を含む Helm チャートを展開できます。エージェントを展開するには、以前にダウンロードした zip ファイルの Helm チャート sum-psa-heimdall.tgz を使用します。Private Synthetic Agent を展開する前に、いくつかの設定オプションを設定する必要があります。設定オプションを表示するには、すでにダウンロードした sum-psa-heimdall.tgz ファイルに移動し、次のように入力します。

    helm show values sum-psa-heimdall.tgz &gt; values.yaml
    CODE

    以下は、values.yaml ファイルで編集する必要がある設定キーと値のペアです。

    Web Monitoring PSA:

    設定キー

    heimdall > repository$ACR_LOGIN_SERVER/sum-heimdall 
    heimdall > tag<heimdall-tag>
    chromeAgent > repository$ACR_LOGIN_SERVER/sum-chrome-agent 
    chromeAgent > tag 

    <agent-tag>

    shepherd > urlShepherd URL
    shepherd > credentialscredentials
    shepherd > locationagent location

    API Monitoring PSA:

    設定キー

    heimdall > repository$ACR_LOGIN_SERVER/sum-heimdall 
    heimdall > tag<heimdall-tag>
    apiMonitoringAgent > repository$ACR_LOGIN_SERVER/synth-api-monitoring-agent 
    apiMonitoringAgent > tag 

    <agent-tag>

    shepherd > urlShepherd URL
    shepherd > credentialscredentials
    shepherd > locationagent location


    残りの値はデフォルトのままにすることも、要件に基づいて設定することもできます。シェパード URL、ログイン情報、場所、およびオプションのキーと値のペアの詳細については、「Private Synthetic Agent の設定」を参照してください。

  3. 上記の設定を使用して Helm チャートを展開するには、すでにダウンロードした sum-psa-heimdall.tgz ファイルに移動し、次のように入力します。

    helm install heimdall-onprem sum-psa-heimdall.tgz --values values.yaml --namespace measurement
    CODE

    すべての Kubernetes リソースがクラスタに作成され、Heimdall を使用できます。数秒後、Heimdall が初期化され、コントローラに表示されます。

  4. ポッドが実行されているかどうかを確認するには、次のように入力します。

    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

    これは、必要でない限り推奨されません。

Kubernetes クラスタのモニタリング

ダウンロードした zip 内の Helm チャート sum-psa-monitoring.tgz により、モニタリングスタックがインストールされます。この Helm チャートは、Private Simple Synthetic Agent をモニタするためのカスタム Grafana ダッシュボードとともに kube-prometheus-stack をインストールします。

この展開のモニタリングはオプションです。ただし、クラスタをモニタして正常性を定期的に確認することを強く推奨します。  

モニタリングスタックのインストール

  1. 別の monitoring 名前空間を作成するには、次のように入力します。

    kubectl create namespace monitoring
    CODE

    設定オプションを確認するには、次のように入力します。

    helm show values sum-psa-monitoring.tgz &gt; values.yaml
    CODE

    これにより、すべての設定オプションを含む values.yaml ファイルが生成されます。Helm チャートのインストール中に生成された values.yaml ファイルを変更して渡すには、次のように入力します。

    helm install psa-monitoring sum-psa-monitoring.tgz --values values.yaml --namespace monitoring
    CODE
  2. モニタリングスタックをインストールした後、(クラスタ内で実行される)Grafana を起動してダッシュボードを表示できます。クラスタの外部から Grafana にアクセスするには、ポートフォワーディングを設定するか、Ingress を設定します。ローカルにアクセスするようにポートフォワーディングを設定するには、次のように入力します。

    kubectl port-forward svc/psa-monitoring-grafana 3000:80 --namespace monitoring
    CODE
  3. ブラウザから localhost:3000 を起動し、デフォルトのログイン情報(ユーザ名:admin、パスワード:prom-operator)を使用して、ログインします。Private Simple Synthetic Agent という名前のダッシュボードに、Kubernetes クラスタ、Heimdall、Postgres、および実行中の測定に関する詳細が表示されます。