.. _gs3_rest_monitor:
Мониторинг сервера
===================
Набор служебных сервисов для мониторинга состояния сервера приложений и управления его сессиями.
Публичные сервисы
------------------------
Состояние сервера приложений
```````````````````````````````````
Сервис информирует о доступности сервера приложений (узла кластера).
**Адреса сервиса**
- ``http://{server:port}/app/sys/monitor/public/isAlive``
Если узел доступен и готов отвечать на запросы, будет возвращён: ``HTTP/1.1 200 "OK"``.
Если узел останавливается, будет возвращён: ``HTTP/1.1 404 "Not Found"``.
Если узел в сервисном режиме, будет возвращён: ``HTTP/1.1 503 "Service Unavailable"``.
.. tip::
Сервис публичный и не требует аутентификации.
Приватные сервисы
------------------------
Список узлов кластера
```````````````````````````````````
Сервис возвращает список узлов кластера.
**Адреса сервиса**
- http://{server:port}/app/sys/monitor/protected/nodes
Пример ответа
.. code-block:: json
["NODE-5657657-8080","NODE-5657657-8090"]
Информация об узле кластера
```````````````````````````````````
**Адреса сервиса**
- http://{server:port}/app/sys/monitor/protected/node/{name}
Пример ответа
.. code-block:: json
{
"nodeName": "NODE-5657657-8080",
"readCellCount": 0,
"hostName": "NODE-5657657",
"insertRowCount": 0,
"readRowCount": 0,
"commitCount": 0,
"nodeUUID": "NODE-5657657-8080",
"jdbcCost": 0.0,
"updateRowCount": 0,
"rollbackCount": 0,
"nodeStartDuration": 12,
"xmx": 28631367680,
"nodeInstanceId": null,
"hostIp": "192.168.1.63",
"httpPort": 8080,
"gcCount": 11,
"sslPort": 8443,
"gcInfo": {
"memoryUsageBeforeGc": {
"PS Eden Space": {
"init": 535822336,
"max": 10450632704,
"used": 0,
"commited": 2023751680
},
"Code Cache": {
"init": 2555904,
"max": 251658240,
"used": 42419840,
"commited": 43515904
},
"Compressed Class Space": {
"init": 0,
"max": 1073741824,
"used": 20107144,
"commited": 21102592
},
"PS Old Gen": {
"init": 1429209088,
"max": 21473787904,
"used": 141442312,
"commited": 1588068352
},
"PS Survivor Space": {
"init": 89128960,
"max": 130023424,
"used": 130011400,
"commited": 130023424
},
"Metaspace": {
"init": 0,
"max": -1,
"used": 162962072,
"commited": 168165376
}
},
"duration": 146,
"startTime": 71011,
"memoryUsageAfterGc": {
"PS Eden Space": {
"init": 535822336,
"max": 10450632704,
"used": 0,
"commited": 2023751680
},
"Code Cache": {
"init": 2555904,
"max": 251658240,
"used": 42419840,
"commited": 43515904
},
"Compressed Class Space": {
"init": 0,
"max": 1073741824,
"used": 20106568,
"commited": 21102592
},
"PS Old Gen": {
"init": 1429209088,
"max": 21473787904,
"used": 162238640,
"commited": 1946681344
},
"PS Survivor Space": {
"init": 89128960,
"max": 130023424,
"used": 0,
"commited": 130023424
},
"Metaspace": {
"init": 0,
"max": -1,
"used": 162960336,
"commited": 168165376
}
},
"endTime": 71157
},
"sqlExecuteCount": 0,
"nodeUptime": 517,
"insertCellCount": 0,
"nodeId": null,
"updateCellCount": 0,
"jdbcAcquireCount": 0
}
Управление рабочими сеансами
```````````````````````````````````
Сервис управления рабочими сеансами пользователей.
**Адреса сервиса**
- http://{server:port}/app/sys/monitor/protected/sessions/{command}
где:
- ``{command}`` - команда
- ``kill`` - Принудительное, безусловное закрытие всех пользовательских сеансов узла.
- ``save`` - Экспериментальная функциональность. Сохранение состояния пользовательских сеансов, для переключения на другой узел кластера.
Управление рабочим сеансом
```````````````````````````````````
Сервис управления рабочим сеансом пользователя.
**Адреса сервиса**
- http://{server:port}/app/sys/monitor/protected/session/{id}/{command}
где:
- ``{id}`` - уникальный идентификатор рабочего сеанса, строковое представление GUID.
- ``{command}`` - команда
- ``kill`` - Принудительное, безусловное закрытие пользовательского сеанса.
- ``save`` - Экспериментальная функциональность. Сохранение состояния пользовательского сеанса, для переключения на другой узел кластера.
Аутентификация
-----------------
Для сервисов мониторинга узлов кластера и управления сеансами доступна ``Basic`` аутентификация.
Имена и пароли пользователей, имеющих доступ к сервисам, определяются в конфигурационном файле сервера, т.к. сервисы не
привязаны к какому-либо прикладному решению.
Пользователь монитора должен обладать ролью ``http-monitor``
.. code-block:: xml
.. seealso:: :xsd:elem:`Configuration.Security.users`
Защита от подбора пароля
``````````````````````````````````
Для ограничения числа попыток подбора пароля, после 5 неудачных попыток входа в течение 15 минут, сервер
блокирует учётную запись пользователя на 15 минут.
Разблокировка учётной записи пользователя возможна через :ref:`SSH-терминал` командой ``unlock monitor user {name}``.