PowerStore: PowerStore Rest API gebruiken

Resumo: Dit artikel bevat een inleiding tot de PowerStore REST API, inclusief praktische gebruiksvoorbeelden en veelvoorkomende fouten.

Este artigo aplica-se a Este artigo não se aplica a Este artigo não está vinculado a nenhum produto específico. Nem todas as versões do produto estão identificadas neste artigo.

Instruções

Er kunnen verschillende tools worden gebruikt om REST API's te testen, waaronder Postman, HTTPie en cURL. In dit artikel wordt cURL gebruikt voor alle voorbeelden, omdat deze standaard direct beschikbaar is op de meeste besturingssystemen.
 
Common Rest API-gebruik:

 

Knooppuntstatus:
curl -H "Accepteer: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/hardware?select=id,name,type,lifecycle_state?type=eq.Node

Voorbeelden van uitvoer:

{"id":"00b941ceea9243f0a36e85abe9504214","name":"BaseEnclosure-NodeB","type":"Knooppunt","lifecycle_state":"Gezond"},
{"id":"2877d096fd2a4cc4b3b8af97f21c1c24","name":"BaseEnclosure-NodeA","type":"Knooppunt","lifecycle_state":"Gezond"}

 

Replication State:
curl -H "Accepteer: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/replication_session?select=id,role,state,last_sync_timestamp,local_resource_id

Voorbeelden van uitvoer:

{"id":"047e38ee-9aeb-4761-8ca5-393204fe6584","role":"Metro_Preferred","state":"OK","last_sync_timestamp":"2026-07-16T15:48:05.628263+00:00","local_resource_id":"d34bd80e-1d43-4692-ab37-e307bc92eb73"},
{"id":"26dd4105-a24f-4d82-b40b-20dcefbfe5df","role":"Source","state":"OK","last_sync_timestamp":"2026-07-16T15:31:54.64127+00:00","local_resource_id":"82c40277-dee4-46de-8559-920fe5f942cc"},
{"id":"414dba20-08b1-4d5e-a521-517a3b37473a","role":"Metro_Preferred","state":"OK","last_sync_timestamp":"2026-07-16T15:51:05.525764+00:00","local_resource_id":"eb970724-cc3e-4661-8d71-bec7f44baf10"}

 

Systeemwaarschuwing:
curl -H "Accepteer: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/alert?select=id,event_code,severity,resource_type,generated_timestamp,state,description_l10n

Voorbeelden van uitvoer:

{"id":"008abb47-e72d-4608-b915-b8c01328b64e",","event_code":"0x01700304","severity":"Major","resource_type":"remote_system","generated_timestamp":"2026-05-11T01:51:01.280627+00:00","state":"ACTIVE","description_l10n":"Alle dataverbindingen van het externe systeem Ghost zijn verbroken."},
{"id":"01114811-82a9-484e-8cf9-3da50c0e3d7b","event_code":"0x01701801","severity":"Info","resource_type":"volume","generated_timestamp":"2026-07-14T02:15:34.764524+00:00","state":"CLEARED","description_l10n":"Metro witness configured for resource HyperV-Node1 is engaged."}

 

Auditgebeurtenissen:
curl -H "Accept: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/audit_event?select=id,type,timestamp,username,resource_type,resource_action,message_l10n,client_address

De output kan enorm zijn en een filter nodig hebben. Als u bijvoorbeeld gebeurtenissen wilt weergeven die gerelateerd zijn aan het gebruikersbeheer. Try:
curl -H "Accept: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/audit_event?select=id,type,timestamp,username,resource_type,resource_action,message_l10n,client_address?username=eq.admin

Voorbeelden van uitvoer:

{"id":"111540","type":"Config","timestamp":"2026-03-11T20:25:57.267124+00:00","gebruikersnaam":"admin","resource_type":"host","resource_action":"verwijderen","message_l10n":"Host met de naam verwijderd: Thors 183.24 (iSCSI) en ID: c698f28b-49ac-4268-a9c7-c6da66bdfbc8.","client_address":"10.158.49.47"},
{"id":"111541","type":"Config","timestamp":"2026-03-11T20:25:57.337655+00:00","username":"admin","resource_type":"host","resource_action":"delete"," message_l10n":"Metadata met sleutels verwijderd: [] gekoppeld aan de bron met type: host en ID: c698f28b-49ac-4268-a9c7-c6da66bdfbc8.","client_address":"10.158.49.47"}

 

Lijst met snapshots:
curl -H "Accepteer: application/json" -u "admin:********" -X GET -k https://xx.xx.xx.xx/api/rest/volume_snap_list_cma_view?select=id,name,source_timestamp,description,creation_timestamp

Uitvoervoorbeelden:
{"id":"24d7856d-d389-4f05-9752-ebb1de61a6d6","name":"Walid Snaps.PowerTriage-RHEL (Walid DO NOT DELETE).2026-07-15T00:00:00Z 189403910","source_timestamp":"2026-07-15T00:03:16.096762+00:00","description":"","creation_timestamp":"2026-07-15T00:03:16.096762+00:00"},
{"id":"2cfd727f-b09c-4895-8fd5-93850fd63698","name":"Daily-File.7DSL0M2-1-001.2026-07-14T00:08:08Z 281536767","source_timestamp":"2026-07-14T00:08:08.618343+00:00"," omschrijving":null,"creation_timestamp":"2026-07-14T00:08:08.618343+00:00"}

 

Prestatiestatistieken:
curl -H "Accept: application/json" -H "Content-Type: application/json" -u "admin:********" -X POST -k https://xx.xx.xx.xx/api/rest/metrics/generate -d '{ "entity": "performance_metrics_by_appliance", "entity_id": "A1","interval": "One_Day" }'|jq '.'

Voorbeelden van uitvoer:


{ "appliance_id": "A1",
"timestamp": "2026-07-15T00:00:00Z",
"avg_read_latency": 172.76094,
"avg_write_latency": 404.14536,
"avg_mirror_write_latency": 924.59375,
"avg_mirror_overhead_latency": 364.82297,
"avg_latency": 273.2135,
"avg_read_size": 91601.2,
"avg_write_size": 6204.5635,
"avg_io_size": 54527.355,
"avg_read_iops": 9.996701,
"avg_write_iops": 7.669595,
"avg_mirror_write_iops": 0.024386574,
  "avg_total_iops": 17,666296,
"avg_read_bandwidth": 915709,9,
"avg_write_bandwidth": 47586,49,
"avg_mirror_write_bandwidth": 190,67259,
"avg_total_bandwidth": 963296,4,
"avg_io_workload_cpu_utilization": 0,00399437453597784,
"max_avg_read_latency": 401,14688,
"max_avg_write_latency": 1679,9584,
"max_avg_latency": 652,1067,
"max_avg_mirror_write_latency": 3842,
"max_avg_mirror_overhead_latency": 3319,
  "max_avg_read_size": 99656.45,
"max_avg_write_size": 30189.037,
"max_avg_io_size": 85726.97,
"max_read_iops": 161.2,
"max_write_iops": 680.6,
"max_mirror_write_iops": 3.8,
"max_total_iops": 834,
"max_read_bandwidth": 8509440,
"max_write_bandwidth": 8792986,
"max_mirror_write_bandwidth": 22732.8,
"max_total_bandwidth": 17252044,
"max_io_workload_cpu_utilization": 0.2170485556125641,
"repeat_count": 1,

  ...

  "response_definition": "performance_metrics_by_appliance_rollup",
"entity": "performance_metrics_by_appliance"
}

 

Veelvoorkomende fouten met REST API:

Voeg "-v" toe aan je curl-commando om de fout weer te geven. 

Voorbeeld 1: verkeerde referentie.

curl -H "Accept: application/json" -u "admin:wrong_password" -k https://10.241.219.160/api/rest/hardware?select=id,name,type,lifecycle_state?type=eq.Node

* Request completely sent off
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
< HTTP/1.1 401 Unauthorized
< WWW-Authenticate: SSOCustom realm="Cyclone Realm"
< content-type: application/json
< content-length: 0

Voorbeeld 2: httpd wordt niet uitgevoerd.

curl -v -H "Accepteer: application/json" -u "admin:********" -k https://xx.xx.xx.xx/api/rest/hardware?select=id,name,type,lifecycle_state?type=eq.Node
* Trying xx.xx.xx.xx:443...
* verbinding maken met xx.xx.xx.xx poort 443 van xx.xx.xx.xx poort 59124 mislukt: Verbinding time-out
* Kan geen verbinding maken met xx.xx.xx.xx poort 443 na 31939 ms: Kan geen verbinding maken met server
* Verbinding sluiten #0
curl: (28) Kan geen verbinding maken met xx.xx.xx.xx poort 443 na 31939 ms: Kan geen verbinding maken met server

Voorbeeld 3: verkeerde syntaxis zonder inhoudstype.

curl -v -H "Accepteer: application/json" -u "admin:********" -X POST -k https://xx.xx.xx.xx/api/rest/metrics/generate -d '{ "entity": "performance_metrics_by_appliance", "entity_id": "A1","interval": "One_Day" }'
{"messages":[{"severity":"Error","code":"0xE04040030001","message_l10n":"Validation failed: Request Content-Type header '[application/x-www-form-urlencoded]' komt niet overeen met toegestane typen. Moet een van de volgende zijn: [application/json]., Een aanvraagtekst is vereist, maar geen gevonden..","arguments":[{"scheidingsteken":", ","messages":[{"ernst":"Fout","code":"validation.request.contentType.notAllowed","message_l10n":"Request Content-Type header '[application/x-www-form-urlencoded]' komt niet overeen met toegestane typen. Moet een van de volgende zijn: [application/json].","arguments":["[application/x-www-form-urlencoded]","[application/json]"]},{"severity":"Error","code":"validation.request.body.missing","message_l10n":"Er is een aanvraagtekst vereist, maar deze is niet gevonden."}]}]}}}

 

Nuttige links:

https://dl.dell.com/content/manual55475248-dell-powerstore-rest-api-developers-guide.pdf?language=en-us

https://< PWST_CLUSTER_IP>/swaggerui/

 

Produtos afetados

PowerStore, PowerStoreOS
Propriedades do artigo
Número do artigo: 000490125
Tipo de artigo: How To
Último modificado: 31 jul. 2026
Versão:  2
Encontre as respostas de outros usuários da Dell para suas perguntas.
Serviços de suporte
Verifique se o dispositivo está coberto pelos serviços de suporte.