AE REST API - Health Check

The AE REST API provides two different health checks:

  • a fast /ping request to be used by HTTP/HTTPS proxies to ensure that the REST node is available

  • a system information health check which provides details on the system

This page includes the following:

Ping Health Check

Check if the AE REST API is available to send subsequent request.

Request: GET http://{host}:{port}/ae/api/v1/ping

Notes:

  • No client information needed in the URI

  • No AE credentials/basic authentication needed

Example: http://my-jcp-host:8088/ae/api/v1/ping

HTTP 200 Response: No payload.

System Health Check

Get system information from AE or check if the JCP/REST API is available.

Requests: GET http://{host}:{port}/ae/api/v1/{client}/system/health

Example: http://my-jcp-host:8088/ae/api/v1/8001/system/health

HTTP 200 Response:

{  
   "status": "UP",
   "pwp": {
      "status": "UP",
      "instancesRunning": 1
    },  
    "wp": {    
       "status": "UP",
       "instancesRunning": 4  
    },  
    "jwp": {
       "status": "UP",
       "instancesRunning": 1  
    },  
    "jcp": {
       "status": "UP",
       "instancesRunning": 1  
    },  
    "rest": {
       "status": "UP",
       "instancesRunning": 1  
    },  
    "cp": {
       "status": "UP",
       "instancesRunning": 2  
    }
}

The system does not require all processes to run, only a minimum number. If they are running, the system returns an HTTP 200 ok response and the top level status is UP. The response includes a list of all processes and the number of instances running.

If at least one of the minimum required processes is not running, the system returns an HTTP 503 Service unavailable response and the top level status is DOWN. In this case, the response also includes a list of all processes and the number of instances running, even those with zero (0) instances.

The minimum required processes are:

  • PWP = 1 (exactly)
  • WP = 0, N
  • JWP = 1, N
  • JCP = 1, N
  • CP = 0, N
  • REST = 1, N

Note: Depending on the versions of your agents you might need only Java communication processes (JCP) or communication processes (CP). Agents running on version 21.0 connect to a JCP; agents running on older versions still connect to a CP.

You can also add the suffix ?details=true to the request URL to get more information about your system.

Requests: GET http://{host}:{port}/ae/api/v1/{client}/system/health?details=true

Example: http://my-jcp-host:8088/ae/api/v1/8001/system/health?details=true

HTTP 200 Response:

{
  "status": "UP",
   "count_active_executions": 0,
   "pwp":
   {
      "status": "UP",
      "instancesRunning": 1,
      "available": [
      {
         "name": "AUTOMIC#WP002",
         "count_of_connections": 9,
         "last_life_sign": "2020-02-12 13:57:54"
      }
      ],
      "unavailable": []
   },
   "wp":
   {
      "status": "UP",
      "instancesRunning": 4,
      "available": [
         {
            "name": "AUTOMIC#WP003",
            "count_of_connections": 5,
            "last_life_sign": "2020-02-12 13:57:48"
         },
         {
            "name": "AUTOMIC#WP004",
            "count_of_connections": 5,
            "last_life_sign": "2020-02-12 13:57:49"
         },
         {
            "name": "AUTOMIC#WP005",
            "count_of_connections": 5,
            "last_life_sign": "2020-02-12 13:57:51"
        },
        {
           "name": "AUTOMIC#WP006",
           "count_of_connections": 5,
           "last_life_sign": "2020-02-12 13:57:53"
        }
      ],
      "unavailable": []
   },
  "jwp":
  {
     "status": "UP",
     "instancesRunning": 1,
     "available": [
        {
           "name": "AUTOMIC#WP001",
           "count_of_connections": 0,
           "last_life_sign": "2020-02-12 13:57:46"
        }
     ],
     "unavailable": []
   },   ...}

In this case, the following information is also included:

  • count_active_executions

    Number of executions that are still active / that have not ended yet.

    A high number or an increasing number of executions might point out that the system is not able to process them accordingly.

  • available/unavailable

    List of available/unavailable processes.

    This information allows you to see if all installed processes are available in the system as intended.

  • count_of_connections

    Number of internal and external connections.

    • CP/JCP: Includes connections to Users and Agents
    • REST: Includes connections to REST clients

    Too many or to few connections might point to problems and /or bottlenecks in the system.

  • last_life_sign

    Timestamp of the last life sign of the process.

    If the timestamp is not updated periodically by the process, it does not work correctly, since it was not able to update the timestamp.

See also: