===== Примеры использования Web Services API (WSAPI) в составе 3PAR OS на СХД HPE 3PAR =====
{{:hewlett-packard:hpe-3par-web-services-api-wsapi-from-3par-os-query-examples-with-curl:pasted:20220203-123939.png }} В данной заметке описаны базовые примеры и приёмы работы с программным интерфейсом **Web Services API** (**WSAPI**), реализованным в составе **3PAR OS** в вычислительных узлах (node) СХД **HPE 3PAR**.
Интерфейс WSAPI может рассматриваться, в первую очередь, как инструмент удалённого управления СХД.
Объём возвращаемых данных об СХД в WSAPI не велик, в частности нет возможности получать полноценную информацию о показателях производительности.
Поэтому не следует рассматривать WSAPI, как полноценный инструмент мониторинга.
WSAPI может оказаться весьма полезен в качестве инструмента, применяемого в составе разнообразных сценариев автоматизации управления СХД 3PAR.
Базовым URL для подключения к WSAPI является: https://{3PAR FQDN}:8080/api/v1/
Обмен данными в WSAPI выполняется в формате **JSON**.
----
==== Минимальные требования ====
* На СХД должна быть включена поддержка протокола WSAPI. Для этого используются простые команды **3PAR CLI** - ''showsapi'', ''setwsapi'', ''startwsapi'';
* На СХД должна быть создана учётная запись с ролью уровня **brows** (если требуется права только на удалённое чтение данных);
* На сетевом уровне к СХД должен быть обеспечен удалённый доступ по порту веб-службы WSAPI (порт по умолчанию - **TCP 8080**).
----
==== Аутентификация WSAPI ====
Для подключения к интерфейсу 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|
Все допустимые варианты и примеры запросов можно найти в [[https://support.hpe.com/hpesc/public/docDisplay?docId=c03606339|документации]].
В данном примере извлекаются данные о текущей конфигурации самой службы **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 ====
Интерфейс WSAPI позволяет выполнять ограниченное количество подключений, поэтому после выполнения обмена правильным тоном будет форсированное удаление ранее полученного сессионного ключа.
Пример запроса на удаление ключа:
# curl -k -X DELETE -H "Accept: application/json" \ https://3par01.my.com:8080/api/v1/credentials/0-8839f294dffe9eb701c2708789f8e62c-4e4bf161---- Дополнительные источники информации: * Официальную документацию по использованию текущей версии WSAPI можно найти здесь: [[https://support.hpe.com/hpesc/public/docDisplay?docId=c03606339|HPE 3PAR Web Services API 1.6.15 Developer Guide]] * Примеры кода на языке Python для работы с WSAPI: [[https://github.com/hpe-storage/python-3parclient/blob/master/hpe3parclient|hpe-storage/python-3parclient]] ---- Проверено на следующих конфигурациях: ^ Модель СХД ^ Версия 3PAR OS ^ | HP 3PAR 7200 2-Node | 3.3.1 (MU5) | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 03.02.2022 12:42 {{tag>Storage HP HPE 3PAR "3PAR 7200" StoreServ "3PAR OS" WSAPI}} ~~DISCUSSION~~