PowerStore: PowerStore Rest API gebruiken

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

Dit artikel is van toepassing op Dit artikel is niet van toepassing op Dit artikel is niet gebonden aan een specifiek product. Niet alle productversies worden in dit artikel vermeld.

Instructies

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/

 

Getroffen producten

PowerStore, PowerStoreOS
Artikeleigenschappen
Artikelnummer: 000490125
Artikeltype: How To
Laatst aangepast: 31 jul. 2026
Versie:  2
Vind antwoorden op uw vragen via andere Dell gebruikers
Support Services
Controleer of uw apparaat wordt gedekt door Support Services.