Статистика подключенийLink to Статистика подключений

Шлюз позволяет получать статистику использования через запрос /info с разными флагами. Статистика может быть выведена в кратком виде, содержащем только общую информацию, и в полном виде, в котором дополнительно отражены подключения «Клиентов».

Доступны следующие флаги, которые можно передать в самом запросе:

  • json - отобразить статистику в JSON-формате, без использования флага будет выведен простой текст. Если в заголовке запроса присутствует поле «accept: application/json», то это равносильно установке флага json;
  • pretty - отформатировать вывод в удобочитаемый вид для JSON-формата;
  • full - отобразить полную статистику с информацией по подключенным «Клиентам».

Примеры запросов:

  • https://<IP-адрес Шлюза>:<порт Шлюза>/info - краткая статистика в текстовом виде;

  • https://<IP-адрес Шлюза>:<порт Шлюза>/info?full - полная статистика в текстовом виде;
  • https://<IP-адрес Шлюза>:<порт Шлюза>/info?json - краткая статистика в JSON-формате;
  • https://<IP-адрес Шлюза>:<порт Шлюза>/info?json&pretty&full - полная статистика в удобочитаемом JSON-формате.

Вся статистика объединена в одну общую структуру и не имеет значения, через какой протокол она вызывается: HTTP или HTTPS.

Пример передачи флага json через HTTP-заголовок:

curl -X 'GET' -H "Accept: application/json" https://<IP-адрес Шлюза>:<порт Шлюза>/info
BASH

Что также равносильно запросу:

curl -X 'GET' https://<IP-адрес Шлюза>:<порт Шлюза>/info?json
BASH

Пример вывода полной статистики в удобочитаемом JSON-формате при одном подключенном «Клиенте»:

{
  "timeStart": "2024-02-09 16:56:26.509 +0800",// Время запуска прокси-сервера
  "allDevice": {                               // Общая статистика
    "webUp": {                               // Веб-сокеты
        "recvBytes": 867863000,              // Кол-во принятых байт
        "sendBytes": 867834000,              // Кол-во переданных байт
        "recvFrames": 867863,                // Кол-во принятых фреймов
        "sendFrames": 39008                  // Кол-во переданных фреймов
    },
    "tcpDown": {                             // TCP-сокеты
        "recvBytes": 867863000,              // Кол-во принятых байт
        "sendBytes": 867863000               // Кол-во переданных байт
    },
    "udpDown": {                             // UDP-сокеты
        "recvBytes": 0,
        "sendBytes": 0,
        "recvFrames": 0,
        "sendFrames": 0
    }
},
"numClients": 1,                              // Кол-во подключенных «Клиентов»
"clients": [                                  // Инфо о подключенных «Клиентах»
    {                                         // Инфо по каждому «Клиенту»
        "timeConnect": "2024-02-09 16:58:12.578 +0800", // Время подключения 
        "ipUp": "127.0.0.1:36778",               // IP-адрес и порт
        "ipDown": "127.0.0.1:9080",              // IP-адрес и порт
        "webUp": {                               // Веб-сокет
            "recvBytes": 867863000,              // Кол-во принятых байт
            "sendBytes": 867834000,              // Кол-во переданных байт
            "recvFrames": 867863,                // Кол-во принятых фреймов
            "sendFrames": 39008                  // Кол-во переданных фреймов
        },
        "tcpDown": {                             // TCP Сокет
            "recvBytes": 867863000,              // Кол-во принятых байт
            "sendBytes": 867863000               // Кол-во переданных байт
        }
    }
 ]
}
BASH