Status API
The Status API is a set of read-only HTTP endpoints for inspecting cluster
membership, alarm runtime state, effective configuration / TTL settings,
and per-query debug traces. Hosted by the status feature module.
Status API is bi-host: every route is published on both the public
REST surface (core.restPort, default 12800 — where skywalking-ui and
any existing operator scripts already reach it) and the admin-server
surface (default 17128) when admin-server is enabled. Operators can drive
status from whichever surface their network policy allows; URIs and
payloads are identical on both hosts. See Hosting for the
selector and the dual-bind contract.
The legacy
status-query-pluginwas relocated intoserver-admin/statusin 10.5.0. URI paths and response payloads are unchanged. See the 10.5.0 changelog.
Hosting
The status feature module dual-binds every handler:
- Always on the public REST surface (
core.restPort, default12800, or the sharing-server REST port if configured). This preserves the bindingskywalking-uiand any existing operator scripts already use. - Additionally on the admin-server surface (default
17128).admin-serveris enabled by default, and the admin port is gateway-protected per the admin-server security notice, so operators that lock down their public REST surface can drive status from the same private host as/inspect/*,/dsl-debugging/*, and/runtime/rule/*. SetSW_ADMIN_SERVER=(empty) to close the admin port — the public REST binding still serves/status/*.
The module is enabled by default — the legacy posture is preserved. To
disable explicitly, unset SW_STATUS:
export SW_STATUS= # disable
export SW_STATUS=default # default (enabled)
Configuration
status:
selector: ${SW_STATUS:default}
default:
keywords4MaskingSecretsOfConfig: ${SW_DEBUGGING_QUERY_KEYWORDS_FOR_MASKING_SECRETS:user,password,token,accessKey,secretKey,authentication}
keywords4MaskingSecretsOfConfig is consumed by /debugging/config/dump
to redact configuration values whose key contains any listed substring.
Endpoints
/status/cluster/nodes
Returns the OAP cluster peer list as the cluster module sees it. Useful for confirming that every node has joined and is reporting back.
curl http://oap:12800/status/cluster/nodes
/status/alarm/rules
Lists registered alarm rules.
/status/alarm/{ruleId}
Per-rule runtime status — current window state, last evaluation, the entities the rule has triggered against.
/status/alarm/{ruleId}/{entityName}
Drill-down: status of one specific entity under a given rule.
/status/config/ttl
Returns the effective TTL configuration the OAP loaded at boot.
/debugging/config/dump
Dumps the effective configuration that was applied at boot. Values whose
key contains any substring listed in keywords4MaskingSecretsOfConfig are
redacted. Output is YAML-shaped key=value lines.
The Inspect API uses this endpoint as its REST-URL discovery primitive —
clients parse the dump for core.restHost / core.restPort (or the
sharing-server overrides) once at session start to learn where the public
GraphQL / MQE surface lives.
/debugging/query/...
Runs a named query path with debug tracing enabled and returns the captured DAO / storage spans alongside the result. Useful for diagnosing why a query is slow or returning unexpected data.
| URI | Purpose |
|---|---|
/debugging/query/mqe |
Run an MQE expression with tracing. |
/debugging/query/trace/queryBasicTraces |
Trace search brief. |
/debugging/query/trace/queryTrace |
Trace detail. |
/debugging/query/zipkin/api/v2/traces |
Zipkin compat brief. |
/debugging/query/zipkin/api/v2/trace |
Zipkin compat detail. |
/debugging/query/topology/getGlobalTopology |
Global topology debug. |
/debugging/query/topology/getServicesTopology |
Per-service topology debug. |
/debugging/query/topology/getServiceInstanceTopology |
Per-instance topology debug. |
/debugging/query/topology/getEndpointDependencies |
Endpoint dependencies debug. |
/debugging/query/topology/getProcessTopology |
Process topology debug. |
/debugging/query/log/queryLogs |
Log query debug. |
The query parameters mirror the corresponding GraphQL inputs (consult the
schema definitions under
oap-server/server-query-plugin/query-graphql-plugin/src/main/resources/query-protocol).