Пересчет трафика по данным 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. Запускаем переобсчет сессий (вкладка "Начисление" модуля)

Рекомендуется делать описанные шаги по окончании месяца, то есть когда таблицы уже не используются.

Личные инструменты