NetWorker: Sådan gør du kommandolinjen REST API JSON-svar menneskelig læsbar
Summary: Kommandolinjens REST API-svar (Application Programming Interface) er i uformateret JSON, hvilket kan være svært at analysere. Denne KB indeholder metoder til at formatere REST API-svaret til "menneskeligt læsbart" output. ...
Instructions
NetWorker REST (Representational State Transfer)-API-kald kan udføres fra kommandolinjen på en Linux NetWorker-server ved hjælp af curl kommando. F.eks.:
curl -k -u USERNAME:'PASSWORD' https://localhost:9090/nwrestapi/v3/global/RESTAPI-ENDPOINT
Svardataene for en GET-handling er i JSON. Standardsvaret kan være svært at analysere, da det typisk er en gang kontinuerlig linje. F.eks.:
nve:~ # curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global
{"links":[{"href":"https://localhost:9090/nwrestapi/v3/global/alerts","title":"List of alert messages"},{"href":"https://localhost:9090/nwrestapi/v3/global/auditlogconfig","title":"Audit log configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/auditlogconfigs","title":"Audit log configurations"},{"href":"https://localhost:9090/nwrestapi/v3/global/backups","title":"List of backups"},{"href":"https://localhost:9090/nwrestapi/v3/global/clients","title":"List of clients"},{"href":"https://localhost:9090/nwrestapi/v3/global/cloudboostappliances","title":"List of cloudboost appliances"},{"href":"https://localhost:9090/nwrestapi/v3/global/datadomainsystems","title":"List of data domain systems"},{"href":"https://localhost:9090/nwrestapi/v3/global/dddevicereplication","title":"DD device replication"},{"href":"https://localhost:9090/nwrestapi/v3/global/devices","title":"List of storage devices"},{"href":"https://localhost:9090/nwrestapi/v3/global/directives","title":"List of backup directives"},{"href":"https://localhost:9090/nwrestapi/v3/global/inspect","title":"Inspect remote/local server"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobgroups","title":"List of job groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobindications","title":"List of job indications"},{"href":"https://localhost:9090/nwrestapi/v3/global/jobs","title":"List of jobs"},{"href":"https://localhost:9090/nwrestapi/v3/global/jukeboxes","title":"List of jukeboxes"},{"href":"https://localhost:9090/nwrestapi/v3/global/labels","title":"List of volume label templates"},{"href":"https://localhost:9090/nwrestapi/v3/global/licenseconfig","title":"Server license configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/licenses","title":"List of license templates"},{"href":"https://localhost:9090/nwrestapi/v3/global/lockbox","title":"Lockbox resource"},{"href":"https://localhost:9090/nwrestapi/v3/global/mediaconfig","title":"Server media configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/mobilestorageunits","title":"Mobile storage units"},{"href":"https://localhost:9090/nwrestapi/v3/global/nasdevices","title":"List of NAS devices"},{"href":"https://localhost:9090/nwrestapi/v3/global/notifications","title":"List of notification settings"},{"href":"https://localhost:9090/nwrestapi/v3/global/nsrcloneconfig","title":"NSR Clone Configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/pools","title":"List of pools"},{"href":"https://localhost:9090/nwrestapi/v3/global/probes","title":"List of probes"},{"href":"https://localhost:9090/nwrestapi/v3/global/protectiongroups","title":"List of protection groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/protectionpolicies","title":"List of protection policies"},{"href":"https://localhost:9090/nwrestapi/v3/global/recoverapps","title":"List of recovery applications"},{"href":"https://localhost:9090/nwrestapi/v3/global/recovers","title":"List of recover resources"},{"href":"https://localhost:9090/nwrestapi/v3/global/rules","title":"List of rules"},{"href":"https://localhost:9090/nwrestapi/v3/global/schedules","title":"List of schedules"},{"href":"https://localhost:9090/nwrestapi/v3/global/securityconfig","title":"Server security configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/serverconfig","title":"Server configuration"},{"href":"https://localhost:9090/nwrestapi/v3/global/servermessages","title":"List of server messages"},{"href":"https://localhost:9090/nwrestapi/v3/global/serverstatistics","title":"Server statistics"},{"href":"https://localhost:9090/nwrestapi/v3/global/sessions","title":"List of save/recover sessions"},{"href":"https://localhost:9090/nwrestapi/v3/global/storagenodes","title":"List of storage nodes"},{"href":"https://localhost:9090/nwrestapi/v3/global/tenants","title":"Restricted data zone protection"},{"href":"https://localhost:9090/nwrestapi/v3/global/timepolicies","title":"List of Time Policies"},{"href":"https://localhost:9090/nwrestapi/v3/global/unconfiguredlibraries","title":"List of unconfigured libraries"},{"href":"https://localhost:9090/nwrestapi/v3/global/usergroups","title":"List of user groups"},{"href":"https://localhost:9090/nwrestapi/v3/global/vmware","title":"View of VMware objects"},{"href":"https://localhost:9090/nwrestapi/v3/global/volumes","title":"List of volumes"}]}
JSON-outputtet er uformateret og kan være svært at analysere. Outputtet kan dog formateres til et lettere at læse "Pretty Print" -format.
For NetWorker Virtual Edition-systemer (NVE) kan du tilføje python -m json.tool til curl kommando. F.eks.:
nve:~ # curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global | python -m json.tool
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4374 0 4374 0 0 9751 0 --:--:-- --:--:-- --:--:-- 9763
{
"links": [
{
"href": "https://localhost:9090/nwrestapi/v3/global/alerts",
"title": "List of alert messages"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfig",
"title": "Audit log configuration"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfigs",
"title": "Audit log configurations"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/backups",
"title": "List of backups"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/clients",
"title": "List of clients"
},
******* Removed for brevity *******
]
}
For andre Linux-systemer kan dette opnås ved at tilføje jq til curl kommando:
[root@nsr ~]# curl -k -u Administrator:'!Password1' https://localhost:9090/nwrestapi/v3/global | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 4258 0 4258 0 0 7253 0 --:--:-- --:--:-- --:--:-- 7241
{
"links": [
{
"href": "https://localhost:9090/nwrestapi/v3/global/alerts",
"title": "List of alert messages"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfig",
"title": "Audit log configuration"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/auditlogconfigs",
"title": "Audit log configurations"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/backups",
"title": "List of backups"
},
{
"href": "https://localhost:9090/nwrestapi/v3/global/clients",
"title": "List of clients"
},
******* Removed for brevity *******
]
}
jq ikke er inkluderet i NetWorker, er dette et tredjepartsværktøj, der kan installeres på systemet. Kontakt systemadministratoren for at installere jq eller andre JSON-formateringsværktøjer efter behov.
For Windows-værter er det usandsynligt, at det bruger kommandolinjen til at opnå dette. Dette gøres typisk via PowerShell, som kræver yderligere funktioner, der ofte involverer scripting. De fleste Windows-baserede systemer bruger en brugergrænseflade som Post-Man til at formatere REST API GET-anmodninger.