APIFinOps

Redshift Health API

The Redshift Health API provides REST endpoints that proxy Redshift performance data sourced from the Vidura agent service. All endpoints connect to the Redshift cluster defined by the authenticated user's env_id JWT claim. Data is fetched live from Redshift system views on each request — there is no caching layer.

Endpoints

MethodPathDescriptionRedshift Source
GET/redshift/clusterNode details and total storage capacitystv_slices, stv_node_storage_capacity
GET/redshift/queries/slowLong-running queries currently executing (>5 min)stv_wlm_query_state
GET/redshift/queries/spillTop queries by total disk spill volumesys_query_detail
GET/redshift/tables/vacuumTables requiring vacuum ranked by unsorted percentagesvv_table_info, stl_vacuum
GET/redshift/tables/alertsRecent performance alert events per table (last 7 days)stl_alert_event_log
GET/redshift/storageStorage utilization breakdown by table (size, row count, distribution)svv_table_info

Example: Slow Queries Response

GET /redshift/queries/slow
{
  "queries": [
    {
      "query_id": 1234567,
      "exec_time_seconds": 847,
      "user_name": "etl_user",
      "database": "quper_db",
      "wlm_queue": "default",
      "query_text": "SELECT account_id, SUM(effective_cost) FROM cost_usage..."
    }
  ],
  "generated_at": "2024-03-01T15:00:00Z"
}

Example: Storage Response

GET /redshift/storage
{
  "tables": [
    {
      "schema": "quper_prod",
      "table_name": "cost_usage_raw",
      "size_mb": 45312,
      "tbl_rows": 128000000,
      "unsorted_pct": 4.2,
      "pct_ghost_rows": 0.8,
      "dist_style": "KEY",
      "sortkey1": "usage_date"
    }
  ]
}

Environment Context

All Redshift Health endpoints automatically connect to the Redshift cluster configured for the authenticated user's active environment (env_id from JWT). There is no need to specify the cluster or schema in the request — it is resolved server-side from the token.

Response Latency

These endpoints query Redshift system views directly on each request. Response times depend on cluster load and the complexity of the system view queries. Typical latency is 500ms–3s. If the Redshift cluster is paused or unreachable, the endpoint returns 503 Service Unavailable with a descriptive error message.