{
  "schema_version": 2,
  "id": "operate/rs/references/rest-api/requests/metrics",
  "title": "Metrics requests",
  "url": "https://redis.io/docs/latest/operate/rs/references/rest-api/requests/metrics/",
  "summary": "Local metrics storage requests",
  "tags": [
    "docs",
    "operate",
    "rs"
  ],
  "last_updated": "2026-09-29T16:51:25+03:00",
  "children": [
    {
      "id": "operate/rs/references/rest-api/requests/metrics/granular",
      "summary": "Granular metrics collection requests",
      "title": "Granular metrics requests",
      "url": "https://redis.io/docs/latest/operate/rs/references/rest-api/requests/metrics/granular/"
    }
  ],
  "page_type": "content",
  "content_hash": "74586ead7a8dc97033a5fb300047803a2797a3645e89beaa2960ca6022486e7f",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-metrics-status) | `/v1/metrics/status` | Get the local metrics storage status of cluster nodes |"
    },
    {
      "id": "get-metrics-status",
      "title": "Get metrics status",
      "role": "content",
      "text": "GET /v1/metrics/status\n\nGet the status of all nodes or a specific node. The response describes the state of each node's store. It doesn't return the stored metrics.\n\n#### Required permissions\n\n| Permission name |\n|-----------------|\n| [view_cluster_info](https://redis.io/docs/latest/operate/rs/references/rest-api/permissions#view_cluster_info) |"
    },
    {
      "id": "get-request",
      "title": "Request",
      "role": "content",
      "text": "#### Example HTTP request\n\n\tGET /v1/metrics/status?node_uid=1\n\n#### Request headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n#### Query parameters\n\n| Field | Type | Description |\n|-------|------|-------------|\n| node_uid | integer | Optional. The ID of the node to get the status of. If omitted, returns the status of all nodes. |"
    },
    {
      "id": "get-response",
      "title": "Response",
      "role": "returns",
      "text": "Returns a `nodes` array with one object for each node in scope.\n\n#### Example JSON body\n\n[code example]\n\n#### Node status fields\n\n| Field | Type | Description |\n|-------|------|-------------|\n| uid | string | The node ID |\n| state | string | State of the node's metrics store:<br />`running`<br />`stopped`<br />`unknown` |\n| disk_usage_bytes | integer | Disk space used by stored metrics, in bytes |\n| disk_max_bytes | integer | Configured maximum disk space for stored metrics, in bytes, set by [`local_storage_max_size_mb`](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/metrics_config) |\n| retention_days_configured | integer | Configured retention, in days, set by [`local_storage_retention_days`](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/metrics_config) |\n| retention_days_effective | integer | Retention currently in effect on the node, in days. It matches `retention_days_configured` unless the node has been under [storage pressure](https://redis.io/docs/latest/operate/rs/monitoring/metrics_stream_engine/local-metrics-storage#storage-pressure-retention), which lowers effective retention to keep stored data within `disk_max_bytes`. When the two values differ, the node keeps less history than configured. |\n| data_range | object | Time range covered by the node's stored samples, with `from` and `to` timestamps |\n| health | string | Health of the node's metrics store:<br />`ok`<br />`degraded`<br />`unknown` |"
    },
    {
      "id": "get-status-codes",
      "title": "Status codes",
      "role": "content",
      "text": "| Code | Description |\n|------|-------------|\n| [200 OK](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1) | Success. |\n| [404 Not Found](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.5) | The `node_uid` doesn't match a node in the cluster (`error_code`: `node_not_found`). |\n| [500 Internal Server Error](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.1) | Internal server error. |"
    }
  ],
  "examples": [
    {
      "id": "get-response-ex0",
      "language": "json",
      "code": "{\n  \"nodes\": [\n    {\n      \"uid\": \"1\",\n      \"state\": \"running\",\n      \"disk_usage_bytes\": 471859200,\n      \"disk_max_bytes\": 1073741824,\n      \"retention_days_configured\": 8,\n      \"retention_days_effective\": 6,\n      \"data_range\": { \"from\": \"2026-02-15T00:00Z\", \"to\": \"2026-02-23T10:00Z\" },\n      \"health\": \"ok\"\n    }\n  ]\n}",
      "section_id": "get-response"
    }
  ]
}
