PowerStore: PowerStore Rest API gebruiken

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

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Instructions

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/

 

Produits concernés

PowerStore, PowerStoreOS
Propriétés de l’article
Numéro d’article: 000490125
Type d’article: How To
Dernière modification: 31 juil. 2026
Version:  2
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.