Просмотр Исходного

{toc}

h2. Схема взаимодействия служб сбора статистики

В биллинге имеются две схемы обработки статистики. Старая и новая. По умолчанию включена *старая* схема.

h3. Старая схема: nf_collector + bstatd

!stat_old02.png!

Обработка в контейнере *collector*:
# NAS присылает netflow UDP порт 9996 и обрабатывается демоном nf_collector;
# *nf_collector* принимает netflow. Обрабатывает по ip адресу источника (src_ip) и помещает файлы в каталоги:
## Службы bstatd. В названии файла содержится тайм-штамп (время в формате [unixtime|https://ru.wikipedia.org/wiki/Unix-время]) первого пакета
{code}
/app/collector/var/stat/raw/
{code}
Служба *bstatd* разносит статистику по каталогам пользователей. В последствии эти данные отображаются в детальной статистике абонента. Подробно служба bstatd описана в [статье|bstatd].
{code}
/app/collector/var/stat/binstat/
{code}
## Службы traf_reporter. В названии файла содержится ip клиента, тайм-штамп.
{code}
/app/collector/var/dump/
{code}
Служба traf_reporter передаёт статистику службе raddb_traf по radius.

Обработка в контейнере *asr_billing*:
# Служба raddb_traf принимает статистику по radius и помещает в промежуточную БД
{code}
/app/asr_billing/var/db/buff_traf.gdb
{code}
# Служба worker обрабатывает трафик, согласно, услуг абонента. Перемещает данные в основную БД биллинга
{code}
/app/asr_billing/var/db/billing.gdb
{code}

Обработка в основной БД биллинга:
# Трафик попадает в таблицу *traf_counters*. Таблица содержит количество трафика с разбивкой по подключенным абоненту услугам.
# Из таблицы *traf_counters* трафик попадает в таблицу *counters*. В ней содержится объём и стоимость трафика.
# Опционально после таблицы *counters* трафик может быть учтён в таблице *arch_account_stack*. Разбивка потреблённого трафика по времени.

h3. Новая схема: nfsen + nf_collector

# Статистика приходит по протоколу netflow на порт 9996 и обрабатывается демоном [nfcapd|nfsen];
# nfcapd дублирует netflow поток на nf_collector по порту 9995.
# Дальнейшая обработка проходит по старой схеме.

!stat_new01.png!

h2. Возможные протоколы
h3. Netflow v5
Поддержка протокол реализована в полном объёме.
h3. Netflow v9
Carbon Billing 5 имеет возможность обрабатывать Netflow v9. Настройка описана в статье [настройка и проверка netflow-потоков|Настройка и проверка netflow-потоков].
h3. IPFIX
Carbon Billing 5 поддерживает несколько полей из ipfix, которые совпадают с протоколом Netflow v9, а именно: OBSERVATION_TIME_SECONDS и OBSERVATION_TIME_MILLISECONDS. В CISCO ASA эти поля называются NF_F_EVENT_TIME_MSEC и NF_F_EVENT_TIME
Поддержка этих полей делает возможным работу с оборудованием, передающим Netflow в виде ipfix.
h3. Особенности реализации
{note}
При включении Netflow v9 / IPFIX теряется возможность тарифицировать входящий трафик. Причина в том, что службы nf_collector и nf_sen не имеют возможность обрабатывать дополнительные поля из netflow 9, содержащие пару srcIP - dstIP(абонента) при входящем потоке.
{note}
h2. Как настроить сохранение статистики?
В большинстве случаев, для сохранения статистики достаточно стандартных настроек NAS и биллинга. Проверьте ваши настройки:
# Создайте NAS
Статистика собирается только с IP адресов [NAS|Справочник NAS] созданных в биллинге.
# Настройте netflow на NAS
В каждой [cтандартной схеме|Стандартные схемы] описана настройка netflow. Укажите IP адрес биллинга и порт(по умолчанию 9996). Загрузите конфигурацию на оборудование.
# Проверьте netflow поток
NAS может отсылать IP пакеты с разных локальных IP адресов. Проверьте, что netflow поток приходит с верного адреса.
{code:title=Команда для проверки}
tcpdump -pnni any udp port 9996 -c 100 | cut -d ' ' -f 3 | sort -u
{code}
{code:title=Результат выполнения команды}
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
100 packets captured
112 packets received by filter
0 packets dropped by kernel
192.0.2.1.9996
192.0.2.2.9996
{code}
В примере на биллинг netflow поток приходит с двух NAS: 192.0.2.1.9996 и 192.0.2.2.9996 порт источника 9996.
# Если у вас остались вопросы по настройке и отладке, воспользуйтесь статьёй: [настройка и проверка netflow-потоков|Настройка и проверка netflow-потоков].

h2. Основные настройки

Для настройки сбора статистики используется web интерфейс.

!stat01.png|thumbnail,border=1,width=200!

Далее

!stat02.png|thumbnail,border=1,width=200!

Основные настройки:

* *Включить bstatd для детальной статистики (снято с поддержки)* - Включает использование демона bstatd. В этом случае статистика собирается в формате bstatd её можно увидеть в Разделе [детальная статистика|Детальная статистика] в учётной записи абонента;
* *Порт для сбора статистики* - Порт, на котором будет приниматься netflow трафик. Стандартное значение *9996*;
* *IP для дублирования статистики* - IP для дублирования статистики. Используется для отправки статистики nfcapd в nf_collector. Стандартное значение 169.254.99.95;
* *Порт для дублирования статистики* - Порт для дублирования статистики. Стандартное значение 9995;
* *Агрегировать статистику* - Опция включает использование демона nf_collector;
* *Сохранять сырую статистику в формате nfcapd для анализа nfsen* - Опция включает сохранение сырой статистики в формате nfcapd. Далее её можно просматривать в web интерфейсе [nfsen|nfsen];
* *Отправлять агрегированную статистику на Биллинг* - Включает подсчёт объёмов трафика для последующей тарификации в биллинге. В биллинг передаются значения:
** [тип трафика|Тип трафика];
** потреблённый объём;
** ID учётной записи;
* *Адрес Биллинга для отправки статистики* - IP адрес службы raddb_traf. Служба принимает значения по объёму трафика по протоколу radius. Стандартное значение 169.254.38.13;
* *Порт Биллинга для отправки статистики* - Порт службы raddb_traf. Стандартное значение 3813.

h2. Настойки сохранения сырой статистики

Так же web интерфейсе можно настроить параметры сохранения сырой статистики:

!stat03.png|thumbnail,border=1,width=200!

Настойки сохранения сырой статистики:

* *IP адрес для доступа к API биллинга:* - По умолчанию: 169.254.80.82. *Недоступно для редактирования*;
* *Логин для доступа к API биллинга:* - По умолчанию root. *Недоступно для редактирования*;
* *Пароль для доступа к API биллинга:* - По умолчанию servicemode. *Недоступно для редактирования*;
* *Порт для доступа к API биллинга:* - По умолчанию 8082. *Недоступно для редактирования*;
* *Объем данных для подтверждения валидности ip адреса клиента, мб.* ;
* *Интервал экспорта детальной статистики (bstatd):* - По умолчанию 30 секунд;
* *Порог для экспорта статистики, мб.* - По умолчанию 512;
* *Интервал проверки массива экспорта в bstatd, сек.* - По умолчанию 300;
* *Директория сохранения статистики для биллинга* - Используется для сохранения статистики об объёмах трафика и дальнейшей передачи её в биллинг через службу reporter. По умолчанию /var/dump ;
* *Экспорт статистики по времени в Биллинг, сек.* - Интервал времени, в который служба reporter переносит данные по объёму трафика в БД биллинга. По умолчанию 1800 секунд. Чем меньше параметр, тем быстрее биллинг будет реагировать на учтённый объём трафика. Например, отключать услугу трафика. Вместе с тем уменьшение параметра приведёт к повышению нагрузки на систему.
* *Уровень логирования:* Уровень логирования nf_collector. Используется при поиске проблем. Доступные значения: ERROR, INFO, DEBUG. Значение по умолчанию ERROR;
* *Использовать NAT в Netflow v9:* - В сырую и агрегированную статистику будет сохраняться SNAT адрес;
* *Директория сохранения статистики для bstatd:* - По умолчанию /var/stat/raw ;
* *Сохранять статистику для bstatd:* - При включённой опции статистика будет сохраняться для обработки демоном [bstatd|bstatd];
* *Директория для сохранения:* - Директория для сохранения статистики в формате nfcapd. По умолчанию /var/stat/raw ;
* *Сохранять сырую статистику:* При включённой опции статистика будет сохраняться для обработки демоном [nfcapd|nfsen];
* *Размер одного файла:* Размер одного файла для сохранения статистики. По умолчанию 50 Мб.