Siebel Cloud Managerベースの環境でのAPM Javaエージェントのプロビジョニングおよびデプロイ

APM Javaエージェントは、Siebelクラウド・マネージャベース環境でプロビジョニングおよびデプロイできます。

Siebel Cloud ManagerでのAPM Javaエージェントのプロビジョニング

Siebelクラウド・マネージャベースの環境にAPM Javaエージェントをプロビジョニングするには、次の手順を実行します。
  1. Siebel Cloud Manager(SCM)を使用してSiebel CRMが設定されていることを確認します。
  2. APM Javaエージェント・ソフトウェアをダウンロードします。

    手順については、Download the APM Java Agent Softwareを参照してください。

  3. APM Javaエージェント・インストーラをSCM VMおよびSCM Dockerコンテナにコピーします。
  4. SCM dockerに接続します。
    
    docker exec -it cloudmanager bash
  5. SCM環境を確認し、ポッドおよびマウント情報を取得します。
    1. AIアプリケーション・インタフェースPODにログインして、永続ストレージのマウント場所を確認します。
      
      ## Set KUBE_CONFIG environment variable 
      export KUBECONFIG=$HOME/.kube/config 
      
      ## Get the pod name of Application Interface service
      bash-4.2$ kubectl get pods -n <namespace>
      NAME                                       READY   STATUS      RESTARTS   AGE
      configure-ws5fh                            0/1     Completed   0          10d
      edge-0                                     1/1     Running     0          8h
      image-builder-4pp9d                        0/1     Completed   0          10d
      ingress-nginx-controller-f84fdc74d-smqcx   1/1     Running     0          10d
      metacontroller-0                           1/1     Running     0          10d
      postinstalldb-sxngc                        0/1     Completed   0          8h
      Pod Name ==>    quantum-0                  1/1     Running     0          8h
      siebel-controller-767868576f-zt9dg         1/1     Running     0          10d
      siebelcgw-0                                1/1     Running     0          10d
      smc-0                                      1/1     Running     0          10d
      
    2. /persistent File Storageのマウント・ポイントの詳細を取得します。

      次のポッド・コマンドでMountsセクションを探します:

      
      bash-4.2$  kubectl describe po/quantum-0  -n <namespace>
      ..
      ..
      ..
      Mounts:
            /config/enterprise.yaml from enterprise (rw,path="enterprise.yaml")
            /config/gateway.yaml from gateway (rw,path="gateway.yaml")
            /config/sai_quantum.yaml from sai-quantum (rw,path="sai_quantum.yaml")
            /persistent from persist-storage (rw,path="SIEBELLAB/quantum") => This is the Mount point of /persistnet file storage
            /sfs0from sfs-storage-0 (rw,path="SIEBELLAB/FS")
            /siebel/mde/applicationcontainer_external/siebelcerts/keystore.jks from keystore (rw,path="keystore.jks")
            /siebel/mde/applicationcontainer_external/siebelcerts/truststore.jks from keystore (rw,path="truststore.jks")
            /siebel/mde/tls_certs/ca.cert.pem from keystore (rw,path="ca.cert.pem")
            /siebel/mde/tls_certs/ca.key.pem from keystore (rw,path="ca.key.pem")
            /siebel/mde/tls_certs/server.pem from keystore (rw,path="server.pem")
            /var/run/secrets/kubernetes.io/serviceaccountfrom kube-api-access-9fjz7 (ro)
  6. APM Javaエージェントのプロビジョニングに必要な次の情報を確認します。
    • <installer_file_location>: APM Javaエージェント・インストーラのjarファイルの場所。

      これは以前にダウンロードされたファイルです。

    • <env_id>および<env_namespace>: Siebel CRM環境情報。これは、Siebel Cloud Managerを使用してSiebel CRMをプロビジョニングするためのRESTコールのレスポンスから取得できます。
      • <env_id>は、env_idパラメータの値です。

      • <env_namespace>は、nameパラメータの値です。
      nameおよびenv_idパラメータについては、次の例を参照してください。
       {
          "data": {
              .
              .
              .
              "name": "siebellab",
              "size": {
                  "ses_resource_limits": {
                      "memory": "24Gi",
                      "cpu": 4
                  },
                  "sai_resource_limits": {
                      "memory": "15Gi",
                      "cpu": 1
                  },
                  "node_shape_config": {
                      "ocpus": 2,
                      "memory_in_gbs": 20
                  },
                  "cgw_resource_limits": {
                      "memory": "15Gi",
                      "cpu": 2
                  },
                  "kubernetes_node_shape": "VM.Standard.E4.Flex",
                  "kubernetes_node_count": 3
              },
              .
              .
              .
              "attempts": 1,
              "env_id": "7FE945"
          }
    • <service name>: モニターされているサービスの名前。この引数を使用すると、トレース・エクスプローラ・ユーザー・インタフェースで、サービスでフィルタしてトレースを表示できます。

    • <private_data_key_value>: APMドメインの作成時に生成されるAPM Javaエージェントで使用されるエージェント・インストール秘密キー。

    • <dataupload_endpoint_value>: APMドメインの作成時に生成されるdatauUploadEndpoint URL。

    秘密キーおよびデータ・アップロード・エンドポイントの取得の詳細は、データ・アップロード・エンドポイントおよびデータ・キーの取得を参照してください。

  7. APM Javaエージェントのプロビジョニング
    次のコードを実行します。
    java -jar <installer_file_location> provision-agent -destination=/home/opc/siebel/<env_id>/<env_namespace>-<fs>/<ENV_NAMESPACE>/quantum/-private-data-key=<private_data_key_value> -data-upload-endpoint=<dataupload_endpoint_value> -service-name=<service name> -overwrite
    

    例:

    java -jar /tmp/apm-java-agent-installer-1.8.3326.jar provision-agent -destination=/home/opc/siebel/7FE945/siebellab-siebfs0/SIEBELLAB/quantum/-private-data-key=ABC123 -data-upload-endpoint=https://aaaa...dbc.oci.oraclecloud.com -public-data-key=EFG345 -service-name=siebelTest -overwrite

プロビジョニングの詳細は、APM Javaエージェントのプロビジョニングを参照してください。

Siebel Cloud ManagerへのAPM Javaエージェントのデプロイ

APM JavaエージェントをSiebelクラウド・マネージャベース環境にデプロイするには、次の手順を実行します。
  1. SiebelアプリケーションインターフェイスのHelmチャートでAPM JavaエージェントをCATALINA_OPTSに追加します。

    helmチャートの変更は、Siebel Cloud Managerのローカル・リポジトリで実行できます。Siebelのhelmチャートローカルレポジトリに移動し、次の変更をコミット/プッシュします。

    cd /home/opc/siebel/<environment>/<siebel namespace>-helmcharts/siebel 
    
    ## Add to CATALINA_OPTS value in templates/._deploy_saiprofiles.tpl
    - name: CATALINA_OPTS
           value: -Djavax.net.ssl.keyStoreAlias=siebel -javaagent:/persistent/oracle-apm-agent/bootstrap/ApmAgent.jar
     
  2. Chart.yamlファイルのバージョンをバンプ・アップします。

    たとえば、0.1.0から0.1.1です。

    version: 0.1.1 
  3. 変更内容をプッシュします。

    git add templates/._deploy_saiprofiles.tpl Chart.yaml
    git commit -am "Adding APM java agent"
    git push
  4. ポッドを再作成します。

    Fluxは変更を自動的に選択し、ポッドが再作成されます。次のコマンドを使用して、ポッド・ステータスを監視できます:

    kubectl get pods -n <namespace> --watch

APMエージェントをApache Tomcatサーバーにデプロイする方法の詳細は、Apache Tomcatサーバーを参照してください。