Пересчет трафика по данным Radius (при потерянных Netflow-логах)
Материал из BiTel WiKi
В случае когда трафик абонентов считается через Netflow (nas.port_traffic.default.*=1:COLLECTOR;2:COLLECTOR; в конфигурации NAS'а), может сложиться такая ситуация, что данные о трафике будут потеряны (например, перестал работать Netflow-сенсор). В этом случае восстановить данные можно используя данные Radius, которые сохраняются в биллинге независимо от того, что указано в опции nas.port_traffic.default. Итак, последовательность действий следующая.
Допустим, необходимо восстановить данные о входящем трафике (услуга 1) за период с 10.05.2011 по 15.05.2011.
1. Делаем бакапы таблиц.
CREATE TABLE _session_detail__201105_bak SELECT * FROM session_detail__201105 CREATE TABLE _log_session__201105_bak SELECT * FROM log_session__201105
2. Удаляем старую информацию по трафику.
DELETE detail FROM session_detail__201105 AS detail INNER JOIN log_session__201105 AS session ON session.id=detail.session_id AND session.STATUS!=0 AND session.session_start<'2011-05-16' AND session.session_start>'2011-05-09' WHERE detail.sid=1
3. Вставляем информацию по трафику.
INSERT INTO session_detail__201105(cid, session_id, sid, dtime, amount) SELECT login.cid, session.id, 1, DATE(session.session_stop), session.input_octets FROM log_session__201105 AS session LEFT JOIN user_login_ AS login ON session.lid=login.id WHERE session.STATUS!=0 AND session.session_start<'2011-05-16' AND session.session_start>'2011-05-09'
4. Проверяем по отчётам в договоре, что трафик появился, можно сверить по RADIUS логу.
5. Запускаем переобсчет сессий (вкладка "Начисление" модуля)
Рекомендуется делать описанные шаги по окончании месяца, то есть когда таблицы уже не используются.