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

Шлюз позволяет получать статистику использования через запрос /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",   // Время запуска прокси-сервера в GMT
    "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",     // Время подключения в GMT
            "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