このページでは、エージェントをアップグレードおよびロールバックする方法について説明します。エージェントをアップグレードおよびロールバックするには、バージョン 21.10.0 以降のエージェントインストーラ API を使用します。

エージェントをアップグレードおよびロールバックするには、systemID を確認し、アップグレードするエージェントのタイプを確認し、使用可能なエージェントのバージョンを確認します。systemID は、エージェント インストーラ システムを識別する識別子です。現在、この機能は API を介してのみ使用でき、UI を介しては使用できません。アップグレードおよびロールバックのプロセス中は、次の構成が保持されます。

Java エージェントの設定(Linux): 

path: <zero agent path>/java/javaagent/ver***/conf/*.xml
CODE

マシンエージェント構成:

path: <zero agent path>/zeroagent/agents/machineagent/conf/logging/log4j.xml
path: <zero agent path>/zeroagent/agents/machineagent/conf/controller-info.xml
path: <zero agent path>/zeroagent/agents/machineagent/monitors
CODE
パージしてから、新しいバージョンのエージェント インストーラ プラットフォームをインストールします。エージェントインストーラ API の詳細については、「Agent Installer Platform Service API」を参照してください。 

システム情報の確認

エージェントインストーラでインストールされているすべてのシステムを確認します。この API は、1 つのアカウント下に存在するすべての systemIDshostnames を提供できます。この API は、エージェントインストーラをロールバックするために使用される以前のバージョンのモニタリングエージェントも提供します。 

形式:

GET /maintenance/systemInfos

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/systemInfos' --header 'Authorization: Bearer {AuthToken}'
CODE

応答の例:

{
  "total": 1,
  "items": [
    {
      "systemId": "1cbcfd90-95ab-4366-b614-1bfab44a9305",
      "hostname": "jboss_host",
      "applicationName": "HelloWorld",
      "rootInstall": true,
      "curVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "prevVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ]
    }
  ]
}
JSON

エージェントバージョンの確認

以下の API を使用して、アップグレードする最新バージョンを取得します。

形式:

GET /install/agentVersions?latest=true

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/install/agentVersions?latest=true' --header 'Authorization: Bearer {AuthToken}'
CODE

応答の例:

{
    "total": 1,
    "items": [
        {
            "os": "linux",
            "agents": [
                {
                    "agentType": "sun_java",
                    "descriptions": [
                        {
                            "version": "21.8.0.32958",
                            "md5Checksum": "ca5472b4c6691d65f35399bc61a4c180",
                            "s3Path": "download-file/sun-jvm/21.8.0.32958/AppServerAgent-21.8.0.32958.zip",
                            "supportsIbl": false
                        }
                    ]
                },
                {
                    "agentType": "ibm_java",
                    "descriptions": [
                        {
                            "version": "21.8.0.32958",
                            "md5Checksum": "eb35b7dfb1166c7a20586e30d231f337",
                            "s3Path": "download-file/ibm-jvm/21.8.0.32958/AppServerAgent-ibm-21.8.0.32958.zip",
                            "supportsIbl": false
                        }
                    ]
                },
                {
                    "agentType": "machine",
                    "descriptions": [
                        {
                            "version": "21.7.0.3160",
                            "md5Checksum": "24cd76b6144c56c78063112f154b53bd",
                            "s3Path": "download-file/machine-bundle/21.7.0.3160/machineagent-bundle-64bit-linux-21.7.0.3160.zip",
                            "supportsIbl": true
                        }
                    ]
                },
                {
                    "agentType": "infra",
                    "descriptions": [
                        {
                            "version": "21.5.0.1826",
                            "md5Checksum": "6df412722d125dc058d35d8cd39a39df",
                            "s3Path": "download-file/infra-agent/21.5.0.1826/appdynamics-infra-agent-linux-64-21.5.0.1826.zip",
                            "supportsIbl": false
                        }
                    ]
                },
                {
                    "agentType": "zero",
                    "descriptions": [
                        {
                            "version": "21.9.0.569",
                            "md5Checksum": "720597f2dc67ecf0b5f02b45b51d46ee",
                            "s3Path": "download-file/zero-agent/21.9.0.569/appdynamics-zero-agent-21.9.0.569.zip",
                            "supportsIbl": false
                        }
                    ]
                }
            ]
        }
    ]
}
JSON

エージェントバージョンのアップグレード

  1. これで、systemIDs hostname、および最新バージョンが用意できたので、以下の API を使用してアップグレードをトリガーします。
  2. リクエストが受け入れられ、maintenanceID で応答が返されます。アップグレードは非同期で行われ、アップグレードの進行状況を追跡するには maintenanceID を使用します。 

    形式:


    POST /maintenance/upgrade/systems

    リクエストの例:

    curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/upgrade/systems' \
    --header 'Authorization: Bearer {AuthToken}' \
    --header 'Content-Type: application/json' \
    --data-raw
    {
      "systemDetails": [
        {
          "systemId": "28f7a681-6010-4150-8940-ebee25841215",
          "hostname": "hostname1"
        },
        {
          "systemId": "28f7a681-6010-4150-8940-ebee25841216",
          "hostname": "hostname2"
        }
      ],
      "versions": [
        {
          "type": "JAVA",
          "version": "21.7.0.32930"
        }
      ]
    }
    CODE

    入力パラメータ:

    Parameter Name

    Parameter Type

    Value

    必須

    systemDetails.systemId

    本体

    エージェント インストーラ システムの ID

    はい

    systemDetails.hostname

    本体

    エージェント インストーラ システムの Hostname

    はい

    versions.type

    本体

    モニタリングエージェントの Type

    はい

    versions.verison

    本体

    アップグレードするモニタリングエージェントの Versions

    はい

    応答の例:

    {
      "maintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
      "operation": "UPGRADE",
      "status": "PENDING",
      "startedAt": "2021-10-25T18:18:14.166Z",
      "updatedAt": "2021-10-25T18:18:14.166Z",
      "maintAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "affectedSystemIds": [
        "d601aacc-97a4-479e-b2b3-db095fef34fc"
      ]
    }
    JSON

アップグレードのロールバック

  1. アップグレードをロールバックするには、systemIDshostname、および以前のバージョンを使用して以下の API をトリガーします。 
  2. リクエストが受け入れられ、maintenanceID で応答が返されます。ロールバックは非同期で行われ、ロールバックの進行状況を追跡するには maintenanceID を使用します。 

    形式:

    POST /maintenance/rollback/systems

    リクエストの例:

    curl --location --request POST 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/rollback/systems' \
    --header 'Authorization: Bearer {AuthToken}' \
    --header 'Content-Type: application/' \
    --data-raw
    {
      "systemDetails": [
        {
          "systemId": "28f7a681-6010-4150-8940-ebee25841215",
          "hostname": "hostname1"
        },
        {
          "systemId": "28f7a681-6010-4150-8940-ebee25841216",
          "hostname": "hostname2"
        }
      ],
      "versions": [
        {
          "type": "JAVA",
          "version": "21.7.0.32930"
        }
      ]
    }
    CODE

    入力パラメータ:

    Parameter Name

    Parameter Type

    Value

    必須

    systemDetails.systemId

    本体

    エージェント インストーラ システムの ID

    はい

    systemDetails.hostname

    本体

    エージェント インストーラ システムの Hostname

    はい

    versions.type

    本体

    モニタリングエージェントの Type

    はい

    versions.verison

    本体

    ロールバックするモニタリングエージェントの以前の versions

    はい

    応答の例:

    {
      "maintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
      "operation": "ROLLBACK",
      "status": "PENDING",
      "startedAt": "2021-10-25T18:19:28.607Z",
      "updatedAt": "2021-10-25T18:19:28.607Z",
      "maintAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "affectedSystemIds": [
        "d601aacc-97a4-479e-b2b3-db095fef34fc"
      ]
    }
    JSON

すべてのメンテナンスリクエスト履歴の取得

この API を使用して、アップグレードとロールバックのリクエスト履歴全体を取得します。この履歴は、個々のシステムのステータスではなく、全体的な maintenance ステータスを提供します。 

形式:

GET /maintenance/history

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/history' --header 'Authorization: Bearer {AuthToken}'
CODE

応答の例:

{
  "total": 1,
  "items": [
    {
      "maintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
      "operation": "UPGRADE",
      "status": "PENDING",
      "startedAt": "2021-10-25T18:20:55.196Z",
      "updatedAt": "2021-10-25T18:20:55.196Z",
      "maintAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "affectedSystemIds": [
        "d601aacc-97a4-479e-b2b3-db095fef34fc"
      ],
      "failedSystemMaintenanceIds": [
        "d601aacc-97a4-479e-b2b3-db095fef34fc"
      ]
    }
  ]
}
JSON

特定のメンテナンス リクエスト レコードの取得

この API を使用して、maintenanceID を使用して特定のアップグレードおよびロールバックの maintenance レコードを取得します。このレコードは、個々のシステムのステータスではなく、全体的なメンテナンスステータスを提供します。

形式:

GET /maintenance/history/{maintenanceId}

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/history/{maintenanceId}' --header 'Authorization: Bearer {AuthToken}'
CODE

入力パラメータ:

Parameter Name

Parameter Type

Value

必須

maintenanceId

パス

ロールバックおよびアップグレードのリクエストからの ID

はい

応答の例:

{
  "maintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
  "operation": "UPGRADE",
  "status": "PENDING",
  "startedAt": "2021-10-25T18:24:20.640Z",
  "updatedAt": "2021-10-25T18:24:20.640Z",
  "maintAgentVersions": [
    {
      "type": "JAVA",
      "version": "20.3.0.1183"
    }
  ],
  "affectedSystemIds": [
    "d601aacc-97a4-479e-b2b3-db095fef34fc"
  ],
  "failedSystemMaintenanceIds": [
    "d601aacc-97a4-479e-b2b3-db095fef34fc"
  ]
}
JSON

すべてのシステム メンテナンス レコードの取得

この API を使用して、maintenanceId を使用して特定のメンテナンスリクエストのすべてのシステム メンテナンス ステータスを取得します。

形式:

GET /maintenance/history/{maintenanceId}/systemMaintenances

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/history/{maintenanceId}/systemMaintenances' --header 'Authorization: Bearer {AuthToken}'
CODE

入力パラメータ:

Parameter Name

Parameter Type

Value

必須

maintenanceId

パス

ロールバックおよびアップグレードのリクエストからの ID

はい

応答の例:

{
  "total": 1,
  "items": [
    {
      "systemMaintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
      "systemId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
      "hostName": "HostName",
      "startedAt": "2021-10-25T18:25:14.754Z",
      "updatedAt": "2021-10-25T18:25:14.754Z",
      "logsAvailable": false,
      "status": "success",
      "prevAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "maintAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "curAgentVersions": [
        {
          "type": "JAVA",
          "version": "20.3.0.1183"
        }
      ],
      "implicitMaintenance": false
    }
  ]
}
JSON

特定のシステム メンテナンス レコードの取得

この API を使用して、systemMaintenanceId を使用して特定のシステム メンテナンス レコードを取得します。 

形式:

GET /maintenance/systemMaintenances/{systemMaintenanceId}

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/systemMaintenances/{systemMaintenanceId}' --header 'Authorization: Bearer {AuthToken}'
CODE

入力パラメータ:

Parameter Name

Parameter Type

Value

必須

systemMaintenanceId

パス

システム メンテナンス アクティビティの ID

はい

応答の例:

{
  "systemMaintenanceId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
  "systemId": "d601aacc-97a4-479e-b2b3-db095fef34fc",
  "hostName": "HostName",
  "startedAt": "2021-10-25T18:30:52.377Z",
  "updatedAt": "2021-10-25T18:30:52.377Z",
  "logsAvailable": false,
  "status": "success",
  "prevAgentVersions": [
    {
      "type": "JAVA",
      "version": "20.3.0.1183"
    }
  ],
  "maintAgentVersions": [
    {
      "type": "JAVA",
      "version": "20.3.0.1183"
    }
  ],
  "curAgentVersions": [
    {
      "type": "JAVA",
      "version": "20.3.0.1183"
    }
  ],
  "implicitMaintenance": false
}
JSON

システムメンテナンス失敗ログの取得

この API を使用して、systemMaintenanceId を使用して特定のシステム メンテナンス アクティビティの失敗ログを取得します。返されるログは最大 4,096 文字です。文字数がこの制限を超えると、ログが削減されます。 

形式:

GET /maintenance/systemMaintenances/{systemMaintenanceId}/log

リクエストの例:

curl --location --request GET 'https://demo.saas.appdynamics.com/zero/v1beta/maintenance/systemMaintenances/{systemMaintenanceId}/log' --header 'Authorization: Bearer {AuthToken}'
CODE

入力パラメータ:

Parameter Name

Parameter Type

Value

必須

systemMaintenanceId

パス

システム メンテナンス アクティビティの ID

はい