... {toc} h1. Для чего нужна база buff_traf.gdb В базе агрегируются данные по объёмам трафика, они могут быть получены от [системы сбора статистики|CarbonBilling:Collector] или из Accounting-Update для подключений по RADIUS. Данные обрабатываются [воркером|CarbonBilling:Worker] и отражаются в [расходе|CarbonBilling:Счетчики услуг. Вкладка "Расход".] абонента в таблицах "*Расход*" и "*Интернет-трафик*". Эти данные особенно важны для тарифов с помегабайтной оплатой. h1. Структура базы данных В buff_traf.gdb всего две таблицы: в одной содержится сам трафик, в другой описание кодов ошибок его обработки: {code}# sqlexec /var/db/buff_traf.gdb "show tables" ERRORS TRAFFIC {code} h2. Таблица TRAFFIC h3. Структура таблицы {code}# sqlexec /var/db/buff_traf.gdb "show table traffic" ID (ID) INTEGER Not Null USER_ID (DINT) INTEGER Nullable USER_IP (IP) INTEGER Nullable V_IN (DBIGINT) NUMERIC(18, 0) Nullable V_OUT (DBIGINT) NUMERIC(18, 0) Nullable T_START (DUNIXTIME) INTEGER Nullable T_END (DUNIXTIME) INTEGER Nullable SUBNET (DINT) INTEGER Nullable TTYPE (DINT) INTEGER Nullable STATUS (DINT) INTEGER Nullable RESOLVED (DINT) INTEGER Nullable DEFAULT 0 ERROR_CODE_ID (DINT) INTEGER Nullable CONSTRAINT FK_TRAFFIC_ERROR: Foreign key (ERROR_CODE_ID) References ERRORS (ID) On Delete Set Null CONSTRAINT PK_TRAFFIC: Primary key (ID) Triggers on Table TRAFFIC: TRAFFIC_BI, Sequence: 0, Type: BEFORE INSERT, Active {code} h3. Пример записи с комментариями {code}# sqlexec /var/db/buff_traf.gdb "set list; select first 1 * from traffic" ID 107752 ----------------- Идентификатор записи в таблице USER_ID 316 -------------------- ID учетной записи USER_IP 16843009 --------------- IP учетной записи в десятичном формате V_IN 585 -------------------- Объём входящего трафика в байтах V_OUT 0 ---------------------- Объём исходящего трафика в байтах T_START 1539335253 ------------- Время начала потока трафика T_END 1539335262 ------------- Время окончания потока трафика SUBNET 2 ---------------------- Подсеть (статья документации "Правила и сети") TTYPE <null> ----------------- Входящий или исходящий STATUS 1 ---------------------- Статус обработки воркером: 0 - необработан, 1 - обработан RESOLVED 0 ---------------------- Флаг обработки записи в веб-интерфейсе, если она была ERROR_CODE_ID 2 ---------------------- Код ошибки: null если ошибки, ID ошибки есть есть{code} h2. Таблица ERRORS h3. Структура таблицы {code}# sqlexec /var/db/buff_traf.gdb "show table errors" ID (ID) INTEGER Not Null NAME (VAR32) VARCHAR(32) Nullable CONSTRAINT PK_ERRORS: Primary key (ID) Triggers on Table ERRORS: ERRORS_BI, Sequence: 0, Type: BEFORE INSERT, Active{code} h3. Коды ошибок с описанием {code}# sqlexec /var/db/buff_traf.gdb "set heading off; select * from errors"
|