PingOne

Monitoring Authorize gateway instance health

Monitor the health and status of Authorize gateway instances running in your organization’s infrastructure to ensure they’re working correctly and ready to evaluate decision requests.

Actuator endpoints

Use Spring Boot Actuator endpoints to monitor gateway instance health, state, liveness, and readiness, and also access gateway instance metrics. Learn more about these endpoints in Actuator endpoints and Actuator REST API in the Spring Boot documentation.

Endpoint Method Authentication available Description

/actuator

GET

No

Lists available Spring Boot Actuator web endpoints.

/actuator/health

GET

No

Provides a summary of the gateway instance’s health status.

/actuator/health/liveness

GET

No

Indicates the operational status of the gateway instance (up or down).

/actuator/health/readiness

GET

No

Indicates whether the gateway instance is ready to accept and process decision requests.

/actuator/state

GET

Yes

Provides operational state and configuration details for the gateway instance.

/actuator/metrics

GET

Yes

Provides a list of available metrics for the gateway instance.

/actuator/metrics/*

GET

Yes

Retrieves a specific metric.

Sending requests to Actuator endpoints

Monitor the health of gateway instances by periodically sending HTTP GET requests to Actuator endpoints. The endpoints use the following URL pattern:

http://<gateway-host>:<port>/<endpoint>

The default port for these endpoints is 8080, but you can configure the port when you start a gateway instance.

For example, the following cURL commands check the liveness and readiness of a gateway instance:

curl --location http://localhost:8080/health/liveness
curl --location http://localhost:8080/health/readiness

If authentication is available for an endpoint, you can configure a shared secret and include it in the Authorization header of your GET requests. Learn more in Authentication for Authorize gateway endpoints.

You can find details about API requests for gateway management and decision evaluation in the PingOne and PingOne Authorize API Reference documentation.

Example responses

Actuator endpoint

GET /actuator

The discovery endpoint for Spring Boot Actuator web endpoints.

200 response:

{
    "_links": {
        "self": {
            "href": "http://localhost:8080/actuator",
            "templated": false
        },
        "state": {
            "href": "http://localhost:8080/actuator/state",
            "templated": false
        },
        "health-path": {
            "href": "http://localhost:8080/actuator/health/<path>",
            "templated": true
        },
        "health": {
            "href": "http://localhost:8080/actuator/health",
            "templated": false
        },
        "metrics": {
            "href": "http://localhost:8080/actuator/metrics",
            "templated": false
        },
        "metrics-requiredMetricName": {
            "href": "http://localhost:8080/actuator/metrics/<requiredMetricName>",
            "templated": true
        }
    }
}
Health endpoint

GET /actuator/health

Provides a high-level view of the gateway instance’s operational health.

200 response:

{
    "status": "UP",
    "groups": [
        "liveness",
        "readiness"
    ]
}

503 response:

{
    "status": "DOWN",
    "groups": [
        "liveness",
        "readiness"
    ]
}
Liveness and readiness endpoints

GET /actuator/health/liveness

GET /actuator/health/readiness

These requests confirm the gateway instance is operational and ready to process requests.

200 response:

{
  "status": "UP"
}

503 response:

{
  "status": "DOWN"
}
State endpoint

GET /actuator/state

Returns the gateway instance’s configured authorization policy version, gateway instance version, deployment details, and PingOne connection status.

200 response:

{
    "application": {
        "version": "1.2.0"
    },
    "pingone": {
        "connection": {
            "status": "UP",
            "checkedAt": "2025-10-02T15:58:22.179Z"
        },
        "configuration": {
            "authorizationVersion": {
                "id": "034dfc10-87xx-11f0-8543-853b57b380d9"
            }
        },
        "gateway": {
            "id": "ee99a9c5-05da-4579-92xx-acc23b557184",
            "updatedAt": "2025-09-02T09:13:19.686Z"
        }
    },
    "authorization": {
        "deployment": {
            "authorizationVersion": {
                "id": "034dfc10-87xx-11f0-8543-853b57b380d9"
            },
            "deployedAt": "2025-10-02T15:57:24.078Z"
        }
    }
}
Metrics endpoints

GET /actuator/metrics

Lists all available metric names exposed for the gateway instance.

200 response:

{
    "names": [
        "application.ready.time",
        "application.started.time",
        "disk.free",
        "disk.total",
        "executor.active",
        "executor.completed",
        "executor.pool.core",
        "executor.pool.max",
        "executor.pool.size",
        "executor.queue.remaining",
        "executor.queued",
        "http.server.requests",
        "http.server.requests.active",
        "jvm.buffer.count",
        "jvm.buffer.memory.used",
        "jvm.buffer.total.capacity",
        "jvm.classes.loaded",
        "jvm.classes.unloaded",
        "jvm.compilation.time",
        "jvm.gc.live.data.size",
        "jvm.gc.max.data.size",
        "jvm.gc.memory.allocated",
        "jvm.gc.memory.promoted",
        "jvm.gc.overhead",
        "jvm.gc.pause",
        "jvm.info",
        "jvm.memory.committed",
        "jvm.memory.max",
        "jvm.memory.usage.after.gc",
        "jvm.memory.used",
        "jvm.threads.daemon",
        "jvm.threads.live",
        "jvm.threads.peak",
        "jvm.threads.started",
        "jvm.threads.states",
        "logback.events",
        "process.cpu.time",
        "process.cpu.usage",
        "process.files.max",
        "process.files.open",
        "process.start.time",
        "process.uptime",
        "spring.security.filterchains",
        "spring.security.filterchains.AuthenticationFilter.after",
        "spring.security.filterchains.AuthenticationFilter.before",
        "spring.security.filterchains.access.exceptions.after",
        "spring.security.filterchains.access.exceptions.before",
        "spring.security.filterchains.active",
        "spring.security.filterchains.authentication.anonymous.after",
        "spring.security.filterchains.authentication.anonymous.before",
        "spring.security.filterchains.context.async.after",
        "spring.security.filterchains.context.async.before",
        "spring.security.filterchains.context.holder.after",
        "spring.security.filterchains.context.holder.before",
        "spring.security.filterchains.context.servlet.after",
        "spring.security.filterchains.context.servlet.before",
        "spring.security.filterchains.header.after",
        "spring.security.filterchains.header.before",
        "spring.security.filterchains.requestcache.after",
        "spring.security.filterchains.requestcache.before",
        "spring.security.filterchains.session.urlencoding.after",
        "spring.security.filterchains.session.urlencoding.before",
        "spring.security.http.secured.requests",
        "spring.security.http.secured.requests.active",
        "system.cpu.count",
        "system.cpu.usage",
        "system.load.average.1m",
        "tasks.scheduled.execution",
        "tasks.scheduled.execution.active"
    ]
}

GET /actuator/metrics/*

Returns details for a specific metric, such as the amount of memory used. For example:

GET /actuator/metrics/jvm.memory.used

200 response:

{
    "name": "jvm.memory.used",
    "description": "The amount of used memory",
    "baseUnit": "bytes",
    "measurements": [
        {
            "statistic": "VALUE",
            "value": 277562880
        }
    ],
    "availableTags": [
        {
            "tag": "area",
            "values": [
                "heap",
                "nonheap"
            ]
        },
        {
            "tag": "id",
            "values": [
                "CodeHeap 'profiled nmethods'",
                "G1 Old Gen",
                "CodeHeap 'non-profiled nmethods'",
                "G1 Survivor Space",
                "Compressed Class Space",
                "Metaspace",
                "G1 Eden Space",
                "CodeHeap 'non-nmethods'"
            ]
        }
    ]
}

Integration with monitoring tools

Integrate the Actuator endpoints with your existing monitoring tools to automate health checks and receive alerts if a gateway instance becomes unhealthy. This helps you proactively manage the availability and performance of your Authorize gateway instances.

Set up periodic checks and alerting mechanisms to notify your organization when gateway instances fail health checks.

Troubleshooting

If a gateway instance fails health checks, investigate the following common issues to restore the gateway instance’s health and ensure uninterrupted service:

  • Network connectivity problems between your monitoring tool and the gateway instance.

  • Resource constraints on the gateway instance host, such as CPU or memory usage.

  • Configuration issues that prevent the gateway instance from starting or processing requests.

Review gateway logs for error messages or warnings that can help identify the root cause of the issue. Learn more in Logging for Authorize gateway instances.