標準展開での Splunk AppDynamics Services のインストール

標準展開オプションでは、Splunk AppDynamics オンプレミス仮想アプライアンス は Kubernetes クラスターにインフラストラクチャと Splunk AppDynamics Services をインストールします。

Prepare to Install Splunk AppDynamics Services

  1. Log in to one of the node console using the appduser credentials.
  2. Navigate to the following folder:
    CODE
    cd /var/appd/config
  3. Edit the globals.yaml.gotmpl file with the required configuration.
    CODE
    vi globals.yaml.gotmpl
    1. (Optional) Add any custom CA certificates for Controller outbound traffic by configuring appdController.customCaCerts in Customize the Helm File.
    2. (Optional) Enable the self-monitoring for the Controller.
      CODE
      enableClusterAgent: true
  4. (Optional) Edit the /var/appd/config/secrets.yaml file to update usernames and passwords of the Splunk AppDynamics Services.
    CODE
    vi /var/appd/config/secrets.yaml
    注: When you install the Splunk AppDynamics service, the secrets.yaml file becomes encrypted.
    See Edit the secrets.yaml.encrypted file.
  5. Save the following script to the console of your primary virtual appliance node as dnsinfo.sh and run it. Follow the instructions in its output:
    注: このスクリプトを初めて実行する場合は、プレーンな YAML のコードをコピーします。サービスのインストール後にこのスクリプトを実行する場合は、暗号化された YAML のコードをコピーします。
    Plain YAML
    CODE
    #!/bin/bash
    set -euo pipefail
    TENANT=$(helm secrets decrypt /var/appd/config/secrets.yaml  .hybrid.controller.tenantAccountName)
    DNS_DOMAIN=$(grep -v "^ *\t* *{{" /var/appd/config/globals.yaml.gotmpl | yq -r '.dnsDomain')
    
    echo Verify the Virtual Appliance tenant should be \'${TENANT}\'
    echo Verify the Virtual Appliance domain name should be \'${DNS_DOMAIN}\'
    
    for server_name in "${TENANT}.auth.${DNS_DOMAIN}" "${TENANT}-tnt-authn.${DNS_DOMAIN}"; do
      if ! getent hosts "${server_name}" > /dev/null; then
        echo "Please double-check that DNS can resolve '${server_name}' as the VA ingress IP"
      fi
    done
    Encrypted YAML
    CODE
    #!/bin/bash
    set -euo pipefail
    TENANT=$(helm secrets decrypt /var/appd/config/secrets.yaml.encrypted  | yq .hybrid.controller.tenantAccountName)
    DNS_DOMAIN=$(grep -v "^ *\t* *{{" /var/appd/config/globals.yaml.gotmpl | yq -r '.dnsDomain')
    
    echo Verify the Virtual Appliance tenant should be \'${TENANT}\'
    echo Verify the Virtual Appliance domain name should be \'${DNS_DOMAIN}\'
    
    for server_name in "${TENANT}.auth.${DNS_DOMAIN}" "${TENANT}-tnt-authn.${DNS_DOMAIN}"; do
      if ! getent hosts "${server_name}" > /dev/null; then
        echo "Please double-check that DNS can resolve '${server_name}' as the VA ingress IP"
      fi
    done

    Sample output:

    CODE
    Verify the Virtual Appliance tenant should be 'customer1'
    Verify the Virtual Appliance domain name should be 'va.mycompany.com'
    Please double-check that DNS can resolve 'customer1.auth.va.mycompany.com' as the VA ingress IP
    Please double-check that DNS can resolve 'customer1-tnt-authn.va.mycompany.com' as the VA ingress IP
  6. Configure a custom ingress certificate (by default, the ingress controller installs a fully-configured self-signed certificate). The custom ingress certificate needs certain SANs added to it. See ingress in Customize the Helm File for instructions on how to configure the custom ingress certificate and key.
  7. Copy the license files as the license.lic file to the node in the following location.
    CODE
    cd /var/appd/config
    This license is used to provision Splunk AppDynamics Services. If you do not have the license file at this time, you can apply the license and provision the services later using appdcli.
    注: For End User Monitoring, if you are using the Infrastructure-based Licensing model, make sure to specify EUM account and license key in the Administration Console. See Access the Administration Console. Follow the steps to add EUM account and license key:
    1. From Account Settings, select the Controller account that have EUM licenses and click Edit.

    2. Enter the EUM license key and the EUM account name in the EUM License Key and the EUM Account Name fields.

    3. Click Save.

3 ノードクラスタの作成

  1. プライマリノードコンソールにログインします。
  2. クラスタの各ノードのブートステータスを確認します。
    CODE
    appdctl show boot
    注:
    • appdctl show boot コマンドでエラーが表示される場合があります。このエラーを解決するには、数分後にコマンドを再度実行します。「トラブルシュート:appdctl show boot に表示されるエラー」を参照してください。

    • すべてのクラスターノードで同じ時刻を設定してください。

  3. プライマリノードで次のコマンドを実行し、ピアノードの IP アドレスを指定します。
    CODE
    cd /home/appduser
    appdctl cluster init <Node-2-IP> <Node-3-IP>
  4. ノードステータスを確認するには、次のコマンドを実行します。
    CODE
    appdctl show cluster
    microk8s status

    出力に、クラスタの一部であるノードの Running ステータスが true として表示されることを確認します。

    出力例

    CODE
    NODE           | ROLE  | RUNNING 
    ----------------+-------+---------
     10.0.0.1:19001 | voter | true    
     10.0.0.2:19001 | voter | true    
     10.0.0.3:19001 | voter | true
    注: 次のエラーが表示された場合は、端末に再ログインする必要があります。
    CODE
    Insufficient Permissions to Access Microk8s

Install Services in the Cluster

  1. Log in to the cluster node console.
  2. Run the command to install services:
    CODE
    appdcli start appd [Profile]
    Small Profile
    CODE
    appdcli start appd small
    Medium Profile
    CODE
    appdcli start appd medium

    This command installs the Splunk AppDynamics services. We recommend that you specify the same VA profile that you selected to create a virtual machine. See, Sizing Requirements.

    Sample Output

    CODE
    NAME               CHART                     VERSION   DURATION
    cert-manager-ext   charts/cert-manager-ext   0.0.1           0s
    ingress-nginx      charts/ingress-nginx      4.8.3           1s
    redis-ext          charts/redis-ext          0.0.1           1s
    ingress            charts/ingress            0.0.1           2s
    cluster            charts/cluster            0.0.1           2s
    reflector          charts/reflector          7.1.216         2s
    monitoring-ext     charts/monitoring-ext     0.0.1           2s
    minio-ext          charts/minio-ext          0.0.1           2s
    eum                charts/eum                0.0.1           2s
    fluent-bit         charts/fluent-bit         0.39.0          2s
    postgres           charts/postgres           0.0.1           2s
    mysql              charts/mysql              0.0.1           3s
    redis              charts/redis              18.1.6          3s
    controller         charts/controller         0.0.1           3s
    events             charts/events             0.0.1           4s
    cluster-agent      charts/cluster-agent      1.16.37         4s
    kafka              charts/kafka              0.0.1           6s
    minio              charts/minio              5.0.14         47s
  3. Verify the status of the installed pods and service endpoints:
    • Pods: kubectl get pods --all-namespaces
    • Service endpoints: appdcli ping

      CODE
      +---------------------+---------+
      |  Service Endpoint   | Status  |
      +=====================+=========+
      | Controller          | Success |
      +---------------------+---------+
      | Events              | Success |
      +---------------------+---------+
      | EUM Collector       | Success |
      +---------------------+---------+
      | EUM Aggregator      | Success |
      +---------------------+---------+
      | EUM Screenshot      | Success |
      +---------------------+---------+
      | Synthetic Shepherd  | Success |
      +---------------------+---------+
      | Synthetic Scheduler | Success |
      +---------------------+---------+
      | Synthetic Feeder    | Success |
      +---------------------+---------+
      | AD/RCA Services     | Failed  |
      +---------------------+---------+
注:

By default, Virtual Appliance installs the Cluster Agent. This agent helps you monitor nodes, CPU, memory and storage. For more information, see View Container Details.

クラスタへの異常検知サービスのインストール

  1. クラスターノードコンソールにログインします。
  2. コマンドを実行して、サービスをインストールします。
    小規模プロファイル
    CODE
    appdcli start aiops small
    中規模プロファイル
    CODE
    appdcli start aiops medium
  3. インストールされたポッドとサービスエンドポイントのステータスを確認します。
    • ポッドkubectl get pods -n cisco-aiops
    • サービスエンドポイントappdcli ping

      逸脱検知サービスのステータスは、Success と表示されます。

異常検出逸脱検知
注: コントローラ UI で異常検知にアクセスすると、IOException エラーが発生することがあります。「仮想アプライアンスの問題のトラブルシュート」を参照してください。

OpenTelemetry サービスのインストール

次の条件が満たされていることを確認します。

  • OpenTelemetry Collector バージョン 0.36 ~ 0.101。
  • トレース取り込みエンドポイントに送信される各要求の最大サイズ制限は 10 MB です。
  1. コントローラの DNS に移動して、コントローラがアクティブであることを確認します。
  2. クラスターノードコンソールにログインします。
  3. 次のコマンドを実行し、Controller サービスのステータスが Success になるまで待機します。
    CODE
    appdcli ping
    出力例
    CODE
    +---------------------+---------------+
    |  Service Endpoint   |    Status     |
    +=====================+===============+
    | Controller          | Success       |
    +---------------------+---------------+
    | Events              | Success       |
    +---------------------+---------------+
    | EUM Collector       | Success       |
    +---------------------+---------------+
    | EUM Aggregator      | Success       |
    +---------------------+---------------+
    | EUM Screenshot      | Success       |
    +---------------------+---------------+
    | Synthetic Shepherd  | Success       |
    +---------------------+---------------+
    | Synthetic Scheduler | Success       |
    +---------------------+---------------+
    | Synthetic Feeder    | Success       |
    +---------------------+---------------+
    | OTIS                | Not Installed |
    +---------------------+---------------+
  4. 次のコマンドを実行して、OpenTelemetry™ サービスをインストールします。
    小規模プロファイル
    CODE
    appdcli start otis small
    中規模プロファイル
    CODE
    appdcli start otis medium
    大規模プロファイル
    CODE
    appdcli start otis large

    このコマンドは cisco-otis 名前空間に OpenTelemetry™ サービスをインストールします。

  5. インストールされたポッドとサービスエンドポイントのステータスを確認します。
    • Podskubectl get pods -n cisco-otis
    • Service endpointsappdcli ping

      OpenTelemetry™ サービスのステータスは成功表示されます。
      CODE
      +---------------------+---------------+
      |  Service Endpoint   |    Status     |
      +=====================+===============+
      | Controller          | Success       |
      +---------------------+---------------+
      | Events              | Success       |
      +---------------------+---------------+
      | EUM Collector       | Success       |
      +---------------------+---------------+
      | EUM Aggregator      | Success       |
      +---------------------+---------------+
      | EUM Screenshot      | Success       |
      +---------------------+---------------+
      | Synthetic Shepherd  | Success       |
      +---------------------+---------------+
      | Synthetic Scheduler | Success       |
      +---------------------+---------------+
      | Synthetic Feeder    | Success       |
      +---------------------+---------------+
      | OTIS                | Success       |
      +---------------------+---------------+

    エンドポイント URL にアクセスして、インストールを確認することもできます。サービスエンドポイントのパスの確認 を参照してください。

Splunk AppDynamicsOpenTelemetry」を参照してください。 を設定します。

クラスターへの ATD サービスのインストール

AuthN サービスが Splunk AppDynamics サービスとともにインストールされていることを確認します。

CODE
kubectl get pods -nauthn

仮想アプライアンスに自動トランザクション診断サービスをインストールする手順は次のとおりです。

  1. クラスターノードコンソールにログインします。
  2. コマンドを実行して、サービスをインストールします。
    デモプロファイル
    CODE
    appdcli start atd demo
    小規模プロファイル
    CODE
    appdcli start atd small
    中規模プロファイル
    CODE
    appdcli start atd medium
  3. インストールされたポッドとサービスエンドポイントのステータスを確認します。
    CODE
    kubectl get pods -ncisco-atd

    ATD の詳細については、「自動トランザクション診断のワークフロー」を参照してください。

Install Universal Integration Layer Service

To integrate Splunk AppDynamics 自己ホスト型仮想アプライアンス with Splunk Enterprise, you must install the Universal Integration Layer (UIL) service in the cluster:
  1. Log in to the cluster node console.
  2. Run the command to install the service:
    Small Profile
    CODE
    appdcli start uil small
    Medium Profile
    CODE
    appdcli start uil medium
    Large Profile
    CODE
    appdcli start uil large
  3. Verify the status of the installed pods and service endpoints:
    • Pods: kubectl get pods -n cisco-uil

      The status of the universal integration layer pod must be displayed as Running.

      uil_pods
    • Service endpoints: appdcli ping

      The status of the UIL service should be displayed as Success.

      uil_service_endpoints

    You can also access the endpoint URL to verify the installation. See サービスエンドポイントのパスの確認.

To continue with the integration, see Integrate Splunk AppDynamics 自己ホスト型仮想アプライアンス with Splunk Enterprise.

Apply Licenses to Splunk AppDynamics Services

Use appdcli to apply licenses after installing Splunk AppDynamics Services.

  1. Log in to the cluster node console.
  2. Copy the license files as the license.lic file to the node in the following location.
    CODE
    cd /var/appd/config
  3. Run the following commands to apply licenses:
    Controller

    Update the Controller license.

    CODE
    appdcli license controller license.lic
    End User Monitoring
    1. Update the EUM license.
      CODE
      appdcli license eum license.lic
    2. (Optional) If you are using the Infrastructure-based Licensing model, make sure to specify EUM account and license key in the Administration Console. See Access the Administration Console. Follow the steps to add EUM account and license key:
      1. From Account Settings, select the Controller account that have EUM licenses and click Edit.

      2. Enter the EUM license key and the EUM account name in the EUM License Key and the EUM Account Name fields.

      3. Click Save.

    For more information, see Virtual Appliance CLI.

サービスエンドポイントのパスの確認

https://<DNS-Name>or<Cluster-Node-IP>/ にアクセスして、コントローラ UI にログインします。

入力コントローラは、着信要求の URL をチェックし、それぞれの Splunk AppDynamics サービスにリダイレクトします。

サービスエンドポイント インストール パス
SaaS コントローラ 4.5.11 以降。 https://<ingress>/controller
イベント

https://<ingress>/events

https://<Node-IP>:32105/events

エンド ユーザ モニタリング データ アグリゲータ https://<ingress>/eumaggregator
スクリーンショット https://<ingress>/screenshots
Collector https://<ingress>/eumcollector
統合 シェパード https://<ingress>/synthetic/shepherd
スケジューラ https://<ingress>/synthetic/scheduler
Feeder https://<ingress>/synthetic/feeder
注: デフォルトでは、コントローラ UI のユーザー名が admin に、パスワードは welcome に設定されます。