В данной заметке описаны базовые примеры и приёмы работы с программным интерфейсом Web Services API (WSAPI), реализованным в составе 3PAR OS в вычислительных узлах (node) СХД HPE 3PAR.
Интерфейс WSAPI может рассматриваться, в первую очередь, как инструмент удалённого управления СХД. Объём возвращаемых данных об СХД в WSAPI не велик, в частности нет возможности получать полноценную информацию о показателях производительности. Поэтому не следует рассматривать WSAPI, как полноценный инструмент мониторинга. WSAPI может оказаться весьма полезен в качестве инструмента, применяемого в составе разнообразных сценариев автоматизации управления СХД 3PAR.
Базовым URL для подключения к WSAPI является:
https://{3PAR FQDN}:8080/api/v1/
Обмен данными в WSAPI выполняется в формате JSON.
showsapi, setwsapi, startwsapi;Для подключения к интерфейсу WSAPI требуется выполнить процедуру предварительной аутентификации для получения временного сессионного ключа.
Пример такой аутентификации с помощть утилиты curl:
# curl -k -H "Accept:application/json" -H "Content-Type:application/json" \
--data-binary '{"user":"monitor","password":"myStr0ng!PWD"}' \
'https://3par01.my.com:8080/api/v1/credentials'В случае успешной аутентификации мы должны получить от веб-службы WSAPI сессионный ключ:
{
"key": "0-8839f294dffe9eb701c2708789f8e62c-4e4bf161"
}
Приведём ряд простых примеров запросов через WSAPI относительного базового URL /api/v1/:
| URL запроса | Описание |
|---|---|
| /wsapiconfiguration | Get the WSAPI Configuration Information |
| /system | Get the Storage System Information |
| /ports | Get the list of ports on the 3PAR |
Все допустимые варианты и примеры запросов можно найти в документации.
В данном примере извлекаются данные о текущей конфигурации самой службы WSAPI в СХД (/wsapiconfiguration):
# curl -k -H "X-HP3PAR-WSAPI-SessionKey:0-8839f294dffe9eb701c2708789f8e62c-4e4bf161" \ 'https://3par01.my.com:8080/api/v1/wsapiconfiguration'
Пример ответа:
{
"httpState": "Disabled",
"httpPort": 8008,
"httpsState": "Enabled",
"httpsPort": 8080,
"version": "1.6.5",
"sessionsInUse": 2,
"systemResourceUsage": 36,
"sessionTimeout": 15,
"eventSessionsInUse": 0,
"maxEventSessions": 5
}
Другой пример - извлечение данных о конфигурации и статусе Adaptive Flash Cache (/flashcache):
# curl -k -H "X-HP3PAR-WSAPI-SessionKey:0-8839f294dffe9eb701c2708789f8e62c-4e4bf161" \ 'https://3par01.my.com:8080/api/v1/flashcache'
{
"mode": 2,
"deviceType": 1,
"sizeGiB": 768,
"state": 1,
"usedSizeGiB": 384,
"links": [
{
"href": "https://3par01.my.com:8080/api/v1/flashcache",
"rel": "self"
}
]
}Интерфейс WSAPI позволяет выполнять ограниченное количество подключений, поэтому после выполнения обмена правильным тоном будет форсированное удаление ранее полученного сессионного ключа.
Пример запроса на удаление ключа:
# curl -k -X DELETE -H "Accept: application/json" \ https://3par01.my.com:8080/api/v1/credentials/0-8839f294dffe9eb701c2708789f8e62c-4e4bf161
Дополнительные источники информации:
Проверено на следующих конфигурациях:
| Модель СХД | Версия 3PAR OS |
|---|---|
| HP 3PAR 7200 2-Node | 3.3.1 (MU5) |
Автор первичной редакции:
Алексей Максимов
Время публикации: 03.02.2022 12:42