{
  "id": "diagnostics",
  "title": "Diagnostics requests",
  "url": "https://redis.io/docs/latest/operate/rs/8.0/references/rest-api/requests/diagnostics/",
  "summary": "REST API requests for the diagnostic logging service.",
  "content": "\n| Method | Path | Description |\n|--------|------|-------------|\n| [GET](#get-diagnostics) | `/v1/diagnostics` | Get diagnostic logging service configuration |\n| [PUT](#put-diagnostics) | `/v1/diagnostics` | Update diagnostic logging service configuration |\n\n## Get diagnostic logging service configuration {#get-diagnostics}\n\n```sh\nGET /v1/diagnostics\n```\n\nGets the diagnostic logging service configuration as JSON.\n\n#### Required permissions\n\n| Permission name | Roles |\n|-----------------|-------|\n| [view_cluster_info](https://redis.io/docs/latest/operate/rs/references/rest-api/permissions#view_cluster_info) | admin\u003cbr /\u003ecluster_member\u003cbr /\u003ecluster_viewer\u003cbr /\u003edb_member\u003cbr /\u003edb_viewer\u003cbr /\u003euser_manager |\n\n### Request {#get-request}\n\n#### Example HTTP request\n\n```sh\nGET /v1/diagnostics\n```\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n### Response {#get-response}\n\nReturns a JSON object that represents the diagnostic logging service configuration. Each target includes a `cron_expression` that defines the log collection time interval. `slowlog_target` also includes `max_entries`, which specifies the maximum number of entries recorded in the slow log.\n\n#### Example response body\n\n```json\n{\n    \"bdb_client_list_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"bdb_info_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"bdb_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"command_stats_target\": {\n        \"cron_expression\": \"*/30 * * * *\"\n    },\n    \"network_stats_target\": {\n        \"cron_expression\": \"*/30 * * * *\"\n    },\n    \"persistent_files_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"rladmin_status_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_info_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_latency_histogram_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_latency_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"slowlog_target\": {\n        \"cron_expression\": \"*/10 * * * *\",\n        \"max_entries\": 100\n    },\n    \"socket_files_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    }\n}\n```\n\n#### Status codes {#get-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error |\n\n## Update diagnostic logging service configuration {#put-diagnostics}\n\n```sh\nPUT /v1/diagnostics\n```\n\nUpdates the diagnostic logging service configuration.\n\n#### Required permissions\n\n| Permission name | Roles |\n|-----------------|-------|\n| [update_cluster](https://redis.io/docs/latest/operate/rs/references/rest-api/permissions#update_cluster) | admin |\n\n### Request {#put-request}\n\nProvide a JSON object in the request body to update a diagnostic logging service target's configuration. Each target can include a `cron_expression` that defines the log collection time interval for that target. For `slowlog_target`, you can also change `max_entries`, which specifies the maximum number of entries recorded in the slow log.\n\n#### Example HTTP request\n\n```sh\nPUT /v1/diagnostics\n```\n\n#### Example JSON body\n\n```json\n{\n   \"rladmin_status_target\": {\n     \"cron_expression\": \"5 * * * *\"\n   }\n}\n```\n\n#### Headers\n\n| Key | Value | Description |\n|-----|-------|-------------|\n| Host | cnm.cluster.fqdn | Domain name |\n| Accept | application/json | Accepted media type |\n\n### Response {#put-response}\n\nReturns a JSON object that represents the updated diagnostic logging service configuration. Each target includes a `cron_expression` that defines the log collection time interval. `slowlog_target` also includes `max_entries`, which specifies the maximum number of entries recorded in the slow log.\n\n\n#### Example response body\n\n```json\n{\n    \"bdb_client_list_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"bdb_info_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"bdb_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"command_stats_target\": {\n        \"cron_expression\": \"*/30 * * * *\"\n    },\n    \"network_stats_target\": {\n        \"cron_expression\": \"*/30 * * * *\"\n    },\n    \"persistent_files_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"rladmin_status_target\": {\n        \"cron_expression\": \"5 * * * *\"\n    },\n    \"shard_info_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_latency_histogram_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_latency_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"shard_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    },\n    \"slowlog_target\": {\n        \"cron_expression\": \"*/10 * * * *\",\n        \"max_entries\": 100\n    },\n    \"socket_files_target\": {\n        \"cron_expression\": \"*/10 * * * *\"\n    }\n}\n```\n\n#### Status codes {#put-status-codes}\n\n| Code | Description |\n|------|-------------|\n| [200 OK](https://www.rfc-editor.org/rfc/rfc9110.html#name-200-ok) | No error. |\n| [400 Bad Request](https://www.rfc-editor.org/rfc/rfc9110.html#name-400-bad-request) | Bad content provided. |\n| [409 Conflict](https://www.rfc-editor.org/rfc/rfc9110.html#name-409-conflict) | Attempting to configure the diagnostic logging service target while it is busy with another configuration change. In this context, this is a temporary condition, and the request should be re-attempted later. |\n",
  "tags": ["docs","operate","rs"],
  "last_updated": "2026-07-23T12:05:56-05:00",
  "children": []
}
