5.7.3.2. Мониторинг сервера

Набор служебных сервисов для мониторинга состояния сервера приложений и управления его сессиями.

5.7.3.2.1. Публичные сервисы

5.7.3.2.1.1. Состояние сервера приложений

Сервис информирует о доступности сервера приложений (узла кластера).

Адреса сервиса

  • 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

Сервис публичный и не требует аутентификации.

5.7.3.2.2. Приватные сервисы

5.7.3.2.2.1. Список узлов кластера

Сервис возвращает список узлов кластера.

Адреса сервиса

  • http://{server:port}/app/sys/monitor/protected/nodes

Пример ответа

["NODE-5657657-8080","NODE-5657657-8090"]

5.7.3.2.2.2. Информация об узле кластера

Адреса сервиса

  • http://{server:port}/app/sys/monitor/protected/node/{name}

Пример ответа

{
"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
}

5.7.3.2.2.3. Управление рабочими сеансами

Сервис управления рабочими сеансами пользователей.

Адреса сервиса

  • http://{server:port}/app/sys/monitor/protected/sessions/{command}

где:

  • {command} - команда

    • kill - Принудительное, безусловное закрытие всех пользовательских сеансов узла.

    • save - Экспериментальная функциональность. Сохранение состояния пользовательских сеансов, для переключения на другой узел кластера.

5.7.3.2.2.4. Управление рабочим сеансом

Сервис управления рабочим сеансом пользователя.

Адреса сервиса

  • http://{server:port}/app/sys/monitor/protected/session/{id}/{command}

где:

  • {id} - уникальный идентификатор рабочего сеанса, строковое представление GUID.

  • {command} - команда

    • kill - Принудительное, безусловное закрытие пользовательского сеанса.

    • save - Экспериментальная функциональность. Сохранение состояния пользовательского сеанса, для переключения на другой узел кластера.

5.7.3.2.3. Аутентификация

Для сервисов мониторинга узлов кластера и управления сеансами доступна Basic аутентификация.

Имена и пароли пользователей, имеющих доступ к сервисам, определяются в конфигурационном файле сервера, т.к. сервисы не привязаны к какому-либо прикладному решению.

Пользователь монитора должен обладать ролью http-monitor

<configuration>
  <security>
    <users>
      <user name="{user}" password="{password}" roles="http-monitor"/>
    </users>
  </security>
</configuration>

5.7.3.2.3.1. Защита от подбора пароля

Для ограничения числа попыток подбора пароля, после 5 неудачных попыток входа в течение 15 минут, сервер блокирует учётную запись пользователя на 15 минут.

Разблокировка учётной записи пользователя возможна через SSH-терминал командой unlock monitor user {name}.