Мониторинг веб-сервера

Запросы

HTTP verb Endpoint Описание

GET

/api/monitor/v1/websrv/cert

Перезагрузка сертификатов

GET

/api/monitor/v1/websrv/sessions

Веб-сессии

Для всех запросов:
Тип домена: мастер

Перезагрузка сертификатов

Перезагрузка SSL/TLS сертификатов роли ws с диска.
Первая реализация перезагрузки только очищает кеш модуля ssl, что может применяться после установки новых сертификатов поверх старых.
Если же сертификаты не были установлены или были невалидными при загрузке роли ws и порт https не был открыт,
то данная операция не приведёт к его открытию, для этого пока необходимо перезагрузить роль ws.
Планируется вторая реализация перезагрузки, которая будет динамически открывать или закрывать порт https в зависимости от валидности/невалидности
сертификатов (а также ключа) при запросе.

Запрос

Table 1. Параметры запроса
Спецификация Описание

Имя: mode
Тип: str
По умолчанию: clear

Режим работы. Возможные значения:

  • clear - очистить кеш сертификатов, что вызовет загрузку новых сертификатов с диска при следующем запросе.

Имя: site
Тип: str
По умолчанию: не определено

Фильтр по сайту(ам). Возможные значения:

  • не определено - все сайты.

  • список сайтов через запятую.

Пример запроса
GET /api/monitor/v1/websrv/cert?mode=clear&site=central,site2 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK

{
  "resultcode": 0,
  "resultmsg": "OK",
  "data": {
    "sites": [
      {
        "site": "central",
        "servers": [
          {
            "node": "ws1@192.168.0.32",
            "status": "ok"
          }
        ]
      }
    ]
  }
}

Веб-сессии

Отображает открытые веб-сессии и позоволяет их принудительно закрывать в зависимости от режима.

Запрос

Table 2. Параметры запроса
Спецификация Описание

Имя: mode
Тип: str
По умолчанию: current

Режим работы. Возможные значения:

  • current - отобразить открытые веб-сессии.

  • logout - закрыть все сессии пользователя в домене.

  • close - закрыть сессию по идентификатору.

Имя: domain
Тип: str

Домен для закрытия сессий.

Параметр обязателен при запросе ?mode=logout и игнорируется в других случаях.

Имя: user
Тип: str

Пользователь для закрытия сессий. Принимается либо id, либо login сущности user

Параметр обязателен при запросе ?mode=logout и игнорируется в других случаях.

Имя: session_id
Тип: str

Идентификатор сессии для закрытия.

Параметр обязателен при запросе ?mode=close и игнорируется в других случаях.

Имя: site
Тип: str
По умолчанию: не определено

Фильтр по сайту. Возможные значения:

  • не определено - все сайты.

  • список сайтов через запятую.

Параметр применяется во всех режимах.

Пример запроса
GET /api/monitor/v1/websrv/sessions?site=central HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK

{
  "resultcode": 0,
  "resultmsg": "OK",
  "data": [
    {
      "domain": "master.domain",
      "login": "adminma",
      "session_id": "1e55f2af-0176-8439-9262-e0d55e0cd303",
      "session_type": "http",
      "site": "central",
      "ttl": 40062,
      "user_id": "37eca732-016d-2962-dbfa-e0d55e0cd303"
    },
    {
      "domain": "worker.domain",
      "login": "admin",
      "session_id": "2dc39d67-0176-8566-b18c-e0d55e0cd303",
      "session_type": "http",
      "site": "central",
      "ttl": 40088,
      "user_id": "37eca732-016d-2962-dbfa-e0d55e0cd303"
    },
    {
      "connections": [
        {
          "conn_id": "15ae8d70-0176-8591-3b89-e0d55e0cd303",
          "is_pid_alive": true,
          "node": "ws1@192.168.0.32",
          "pid": "<0.7488.0>"
        }
      ],
      "domain": "master.domain",
      "login": "adminma",
      "session_id": "1e55f2af-0176-8439-9262-e0d55e0cd303",
      "session_type": "websocket",
      "site": "central",
      "ttl": 40062,
      "user_id": "37eca732-016d-2962-dbfa-e0d55e0cd303"
    }
  ]
}