PowerStore: PowerStore Rest API gebruiken

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

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

지침

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/

 

해당 제품

PowerStore, PowerStoreOS
문서 속성
문서 번호: 000490125
문서 유형: How To
마지막 수정 시간: 31 7월 2026
버전:  2
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.