REST API¶
Примечание
Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.
ClientAPI¶
Предоставляет API для доступа к функциональности модулей TIONIX.
Сервис журналирования tnx-journal-api¶
Предоставляет историю всех действий над объектами OpenStack.
Дает возможность получать подробную информацию обо всех действиях пользователей над объектами.
Запрос¶
Параметры запроса:¶
| Name | In | Type | Description |
|---|---|---|---|
| id (Optional) | path | string | Идентификатор записи в журнале. |
| object_id (Optional) | path | string | Идентификатор объекта. |
| object_type (Optional) | path | string | Тип объекта. |
| action (Optional) | path | string | Наименование действия. |
| status (Optional) | path | string | Статус действия. |
| event_time (Optional) | path | string | Дата и время выполнения действия. |
| action_arguments | path | string | Аргументы действия. |
| response_code (Optional) | path | string | Код ответа. |
| message (Optional) | path | string | Дополнительный комментарий к действию. |
| user_id (Optional) | path | string | Идентификатор пользователя. |
| user_name (Optional) | path | string | Имя пользователя. |
| domain_id (Optional) | query | string | Идентификатор домена, которому принадлежит пользователь. |
| request_id (Optional) | query | string | Идентификатор запроса. |
| filter_project_id (Optional) | query | string | Идентификатор проекта. Используется для фильтрации действий над указанным проектом и над виртуальными машинами проекта. |
| filter_domain_id (Optional) | query | string | Идентификатор домена. Используется для фильтрации действий над указанным доменом и действий, которые выполнены пользователем, принадлежащим указанному домену. |
| offset (Optional) | query | string | Номер позиции для получения данных. |
| limit (Optional) | query | string | Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id, object_id, object_type, action, status, event_time, action_arguments, response_code, message, user_id, user_name, domain_id, request_id.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9360/v1/journal/ | python -m json.tool
Ответ¶
Параметры ответа:¶
| Name | In | Type | Description |
|---|---|---|---|
| id | body | integer | Идентификатор. |
| action | body | string | Наименование действия. |
| action_arguments (Optional) | body | string | Аргументы в формате JSON, используемые при выполнении действия. Например: '{"user": "admin"}'. |
| event_time (Optional) | body | string | Дата и время выполнения действия. |
| message (Optional) | body | string | Дополнительный комментарий к действию. |
| object_id | body | integer | Идентификатор объекта. |
| object_type (Optional) | query | string | Тип объекта. |
| request_id (Optional) | body | string | Идентификатор запроса. |
| parent_request_id (Optional) | body | string | Идентификатор родительского запроса. |
| response_code (Optional) | body | string | Код ответа. |
| status | body | string | Статус действия. |
| user_id (Optional) | query | string | Идентификатор пользователя. |
| user_name | body | string | Имя пользователя. |
| domain_id (Optional) | body | string | Идентификатор домена. |
Пример результата в JSON формате:
{
"journal": [
{
"action": "dashboard.user.login",
"action_arguments": null,
"event_time": "2018-03-22T07:25:31",
"id": 47,
"message": "User \"admin\" was successfully logged in.",
"object_id": "2fee08b2c0ee4ca9ad2907c922c92261",
"object_type": "project",
"parent_request_id": null,
"request_id": "624fa546-e50b-4b7c-82be-8ed496de31a7",
"response_code": null,
"status": "success",
"user_id": "5e48b18b-844d-477c-ab8d-6789a5382a14",
"user_name": "admin",
"domain_id": "46790262d1de48228a53c8887a932f48"
}
]
}
Дает возможность получать количество действий пользователей над объектами.
Запрос¶
Параметры запроса:¶
| Name | In | Type | Description |
|---|---|---|---|
| id (Optional) | path | string | Идентификатор записи в журнале. |
| object_id (Optional) | path | string | Идентификатор объекта. |
| object_type (Optional) | path | string | Тип объекта. |
| action (Optional) | path | string | Наименование действия. |
| status (Optional) | path | string | Статус действия. |
| event_time (Optional) | path | string | Дата и время выполнения действия. |
| action_arguments | path | string | Аргументы действия. |
| response_code (Optional) | path | string | Код ответа. |
| message (Optional) | path | string | Дополнительный комментарий к действию. |
| user_id (Optional) | path | string | Идентификатор пользователя. |
| user_name (Optional) | path | string | Имя пользователя. |
| domain_id (Optional) | query | string | Идентификатор домена, которому принадлежит пользователь. |
| request_id (Optional) | query | string | Идентификатор запроса. |
| filter_project_id (Optional) | query | string | Идентификатор проекта. Используется для фильтрации действий над указанным проектом и над виртуальными машинами проекта. |
| filter_domain_id (Optional) | query | string | Идентификатор домена. Используется для фильтрации действий над указанным доменом и действий, которые выполнены пользователем, принадлежащим указанному домену. |
Параметры, поддерживающие модификаторы: id, object_id, object_type, action, status, event_time, action_arguments, response_code, message, user_id, user_name, domain_id, request_id.
Пример запроса:¶
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9360/v1/journal/count | python -m json.tool
Ответ¶
Параметры ответа:¶
| Name | In | Type | Description |
|---|---|---|---|
| count | body | string | Количество записей. |
Пример результата в JSON формате:
{
"count": 1
}
Дает возможность сохранять запись о действиях пользователей над объектами.
Запрос¶
Параметры запроса:¶
| Name | In | Type | Description |
|---|---|---|---|
| tenant_id | path | string | Идентификатор проекта, в котором авторизован пользователь. |
| object_id | body | integer | Идентификатор объекта. |
| object_type (Optional) | query | string | Тип объекта. |
| action | body | string | Наименование действия. |
| status | body | string | Статус действия. |
| message (Optional) | body | string | Дополнительный комментарий к действию. |
| user_id (Optional) | query | string | Идентификатор пользователя. |
| user_name | body | string | Имя пользователя. |
| request_id (Optional) | body | string | Идентификатор запроса. |
| parent_request_id (Optional) | body | string | Идентификатор родительского запроса. |
| action_arguments (Optional) | body | string | Аргументы в формате JSON, используемые при выполнении действия. Например: '{"user": "admin"}'. |
| domain_id (Optional) | body | string | Идентификатор домена. |
Пример запроса:¶
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"journal": {"object_id": "4", "object_type": "node", "action": "node_control.power_on", "status": "Success"}}' http://controller:9360/v1/journal/ | python -m json.tool
Ответ¶
Параметры ответа:¶
| Name | In | Type | Description |
|---|---|---|---|
| id | body | integer | Идентификатор. |
| action | body | string | Наименование действия. |
| action_arguments (Optional) | body | string | Аргументы в формате JSON, используемые при выполнении действия. Например: '{"user": "admin"}'. |
| event_time (Optional) | body | string | Дата и время выполнения действия. |
| message (Optional) | body | string | Дополнительный комментарий к действию. |
| object_id | body | integer | Идентификатор объекта. |
| object_type (Optional) | query | string | Тип объекта. |
| request_id (Optional) | body | string | Идентификатор запроса. |
| parent_request_id (Optional) | body | string | Идентификатор родительского запроса. |
| response_code (Optional) | body | string | Код ответа. |
| status | body | string | Статус действия. |
| user_id (Optional) | query | string | Идентификатор пользователя. |
| user_name | body | string | Имя пользователя. |
| domain_id (Optional) | body | string | Идентификатор домена. |
Пример результата в JSON формате:
{
"journal": {
"action": "node_control.power_on",
"action_arguments": null,
"event_time": "2018-03-22T07:25:31",
"id": 47,
"message": null,
"object_id": "2",
"object_type": "node",
"parent_request_id": null,
"request_id": "624fa546-e50b-4b7c-82be-8ed496de31a7",
"response_code": null,
"status": "success",
"user_id": "5e48b18b-844d-477c-ab8d-6789a5382a14",
"user_name": "admin",
"domain_id": "46790262d1de48228a53c8887a932f48"
}
}