---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/monitor-traffic-api
---



# Монитор трафика

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action
          width: 'auto'
        - text: Высокопроизводительный VCE
          theme: outlined
          url: https://docs.ideco.ru/api/vpp-v22/ru/ngfw/stat-api/traffic/
          width: 'auto'
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/monitor/traffic
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

{% cut "Получение состояния Монитора трафика" %}{#poluchenie-sostoyaniya-monitora-trafika}

```
GET /reports/traffic/state
```

**Ответ на успешный запрос:**

```json5
{
  "enabled": true | false
}
```

* `enabled` - состояние работы **Монитора трафика**:
  * `true` - включен; 
  * `false` - выключен.

{% endcut %}

{% cut "Изменение состояния Монитора трафика" %}{#izmenenie-sostoyaniya-monitora-trafika}

```
PATCH /reports/traffic/state
```

**Ответ на успешный запрос:**

```json5
{
  "enabled": true | false
}
```

* `enabled` - состояние работы **Монитора трафика**:
  * `true` - включен; 
  * `false` - выключен.

{% endcut %}

{% cut "Получение списка сессий" %}{#poluchenie-spiska-sessiy}

```
GET /reports/traffic/sessions?<GET-параметры, разделенные знаком &>
```

Перечень необязательных GET-параметров:
* `limit: integer` - ограничение на количество срабатываний (строк). Минимальное значение - `1`;
* `offset: integer` - количество строк, которые необходимо пропустить, прежде чем начать выводить записи. Минимальное значение - `0`;
* `sort: [{"field": "string", "direction": "asc | desc"}]` - список параметров сортировки в прямом порядке. По умолчанию сортируется по убыванию `duration`:
    * `field` - столбец, по которому производится сортировка;
    * `direction` - направление сортировки: 
      * `asc` - по возрастанию; 
      * `desc` - по убыванию. 

**Ответ на успешный запрос:**

```json5
{
  "meta": [
      {
        "name": "string",
        "type": "string"
      }
  ],
  "data": [
      {    
        "id": "string",
        "source_ip": "string",
        "src_aliases": ["string"],
        "destination_ip": "string",
        "dst_aliases": ["string"],
        "protocol_name": "string",
        "application": "string",
        "duration": "integer",
        "bps_in": "integer",
        "bps_out": "integer",
        "pps_in": "integer",
        "pps_out": "integer",
        "in_iface_alias": "string",
        "out_iface_alias": "string",
        "source_user": "string",
        "destination_user": "string",
        "source_login": "string",
        "destination_login": "string",
        "source_port": "integer",
        "destination_port": "integer",
        "direction": "integer"
      },
      ...
  ],
  "rows": "integer",
  "rows_before_limit_at_least": "integer"      
}
```
* `meta` - массив метаданных, описывающих поля запроса:
  * `name` - имя поля данных;
  * `type` - тип данных.
* `data` - список сессий в виде объектов с данными по одной сессии:
  * `id` - идентификатор сессии;
  * `source_ip` - IP-адрес источника;
  * `src_aliases` - список идентификаторов всех объектов, связанных с IP-адресом источника;
  * `destination_ip` - IP-адрес назначения;
  * `dst_aliases` - список идентификаторов всех объектов, связанных с IP-адресом назначения;
  * `protocol_name`- протокол сессии;
  * `application` - приложение;
  * `duration` -  продолжительность сессии в секундах;
  * `bps_in` - входящая скорость трафика (байты в секунду);
  * `bps_out` - исходящая скорость трафика (байты в секунду);
  * `pps_in` - скорость обработки входящих пакетов (пакеты в секунду);
  * `pps_out` - скорость обработки исходящих пакетов (пакеты в секунду);
  * `in_iface_alias` - входящий интерфейс;
  * `out_iface_alias` - исходящий интерфейс;
  * `source_user`- имя пользователя (источник);
  * `destination_user`- имя пользователя (назначение);
  * `source_login`- логин пользователя (источник);
  * `destination_login`- логин пользователя (назначение);
  * `source_port`- порт источника;
  * `destination_port`- порт назначения;
  * `direction`- направление сессии:
    * `1` - исходящее;
    * `0` - входящее;
    * `null` - не определено.
* `rows` - количество объектов `data`;
* `rows_before_limit_at_least` - общее количество строк без учета `limit` и `offset`. Если в параметрах запроса отсутствуют `limit` и `offset`, поле `rows_before_limit_at_least` в ответе на запрос будет отсутствовать.

{% endcut %}

{% cut "Получение списка сессий, сгруппированных по узлам локальной сети" %}{#poluchenie-spiska-sessiy-sgruppirovannyh-po-uzlam-lokalnoy-seti}

```
GET /reports/traffic/top/sources?<GET-параметры, разделенные знаком &>
```

Перечень необязательных GET-параметров:
* `limit: integer` - ограничение на количество срабатываний (строк). Минимальное значение - `1`;
* `offset: integer` - количество строк, которые необходимо пропустить, прежде чем начать выводить записи. Минимальное значение - `0`;
* `sort: [{"field": "string", "direction": "asc | desc"}]` - список параметров сортировки в прямом порядке. По умолчанию сортируется по убыванию `sessions`:
    * `field` - столбец, по которому производится сортировка;
    * `direction` - направление сортировки: 
      * `asc` - по возрастанию; 
      * `desc` - по убыванию. 

**Ответ на успешный запрос:**

```json5
{    
  "meta": [
      {
        "name": "string",
        "type": "string"
      }
  ],
  "data": [
      {
        "ip": "string",
        "user": "string",
        "aliases": ["string"],
        "in_sessions": "integer",
        "out_sessions": "integer",
        "sessions": "integer",
        "bps_in": "integer",
        "bps_out": "integer",
        "pps_in": "integer",
        "pps_out": "integer"
      },
      ...
  ],
  "rows": "integer",
  "rows_before_limit_at_least": "integer"
}        
```

* `meta` - массив метаданных, описывающих поля запроса:
  * `name` - имя поля данных;
  * `type` - тип данных.
* `data` - список сессий в виде объектов с данными по одной сессии:
  * `ip` - IP-адрес источника подключения;
  * `user` - имя пользователя;
  * `aliases` - список идентификаторов всех объектов, связанных с IP-адресом источника;
  * `in_sessions` - количество входящих сессий;
  * `out_sessions` - количество исходящих сессий;
  * `sessions` - общее количество сессий;
  * `bps_in` - входящая скорость трафика (байты в секунду);
  * `bps_out` - исходящая скорость трафика (байты в секунду);
  * `pps_in` - скорость обработки входящих пакетов (пакеты в секунду);
  * `pps_out` - скорость обработки исходящих пакетов (пакеты в секунду).
* `rows` - количество объектов `data`;
* `rows_before_limit_at_least` - общее количество строк без учета `limit` и `offset`. Если в параметрах запроса отсутствуют `limit` и `offset`, поле `rows_before_limit_at_least` в ответе на запрос будет отсутствовать.

{% endcut %}

{% cut "Получение списка сессий, сгруппированных по приложению" %}{#poluchenie-spiska-sessiy-sgruppirovannyh-po-prilozheniyu}

```
GET /reports/traffic/top/applications?<GET-параметры, разделенные знаком &>
```

Перечень необязательных GET-параметров:
* `limit: integer` - ограничение на количество срабатываний (строк). Минимальное значение - `1`;
* `offset: integer` - количество строк, которые необходимо пропустить, прежде чем начать выводить записи. Минимальное значение - `0`;
* `sort: [{"field": "string", "direction": "asc | desc"}]` - список параметров сортировки в прямом порядке. По умолчанию сортируется по убыванию `sessions`:
    * `field` - столбец, по которому производится сортировка;
    * `direction` - направление сортировки: 
      * `asc` - по возрастанию; 
      * `desc` - по убыванию.

**Ответ на успешный запрос:**

```json5
{
  "meta": [
      {
        "name": "string",
        "type": "string"
      }
  ],
  "data": [
      {  
        "application": "string",
        "in_sessions": "integer",
        "out_sessions": "integer",
        "sessions": "integer",
        "bps_in": "integer",
        "bps_out": "integer",
        "pps_in": "integer",
        "pps_out": "integer"
      },
      ...
  ],
  "rows": "integer",
  "rows_before_limit_at_least": "integer"
}
```

* `meta` - массив метаданных, описывающих поля запроса:
  * `name` - имя поля данных;
  * `type` - тип данных.
* `data` - список сессий в виде объектов с данными по одной сессии:
  * `application` - приложение;
  * `in_sessions` - количество входящих сессий;
  * `out_sessions` - количество исходящих сессий;
  * `sessions` - общее количество сессий;
  * `bps_in` - входящая скорость трафика (байты в секунду);
  * `bps_out` - исходящая скорость трафика (байты в секунду);
  * `pps_in` - скорость обработки входящих пакетов (пакеты в секунду);
  * `pps_out` - скорость обработки исходящих пакетов (пакеты в секунду).
* `rows` - количество объектов `data`;
* `rows_before_limit_at_least` - общее количество строк без учета `limit` и `offset`. Если в параметрах запроса отсутствуют `limit` и `offset`, поле `rows_before_limit_at_least` в ответе на запрос будет отсутствовать.

{% endcut %}
