|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (78)
просмотр истории страницыh2. Схема взаимодействия служб сбора статистики. |
{toc} |
|
В биллинге имеются две схемы обработки статистики. Старая и новая. По у молчанию включена *старая* схема. |
h2. Схема взаимодействия служб сбора статистики |
|
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. Старая схема: nf_collector + bstatd |
|
h3. Старая схема: nf_collector + traf_reporter + bstatd |
!stat_old02.png! |
|
Статистика приходит по протоколу netflow на порт 9996 и обрабатывается демоном nf_collector. |
Обработка в контейнере *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. |
|
Путь трафика от маршрутизатора, до детальной статистики довольно длинный: # Маршрутизатор шлет на биллинг NetFlow определенной версии на определенный порт биллинга (стандартный порт netflow: 9996) # Билинг слушает с помощью демона *nf_collector* этот порт и собирает статистику в память, и согласно конфигурационному файлу, агрегирует по SRC_IP и отправляет её в директорию */var/stat/raw/* для последующего переноса в детальную статистику, в названии файла содержится тайм-штамп (время в формате [unixtime|https://ru.wikipedia.org/wiki/Unix-время]) первого пакета; данные для для [расхода абонента|CarbonBilling:Счетчики услуг. Вкладка "Расход".] отправляются в папку */var/dump/*, в названии файла содержится ip клиента, тайм-штамп. # Демон *bstatd* берёт агрегированную статистику из директории /var/stat/raw/, перемещает в папку */var/stat/agreg/trash*, преобразует формат и сохраняет в директорию */var/stat/binstat/*, разбитую по директориям: месяц/user_id, например 201501/297. В последствии эти данные отображаются в детальной статистике абонента. {note}Если процесс *bstatd* был завершен неудачно не успев обработать какую-то статистику из папки /var/stat/agrag/trash, он возвращает её в папку. Перезапустите процесс, чтобы демон заново обработал эту статистику: {code}chroot /app/collector service bstatd restart{code}{note} # Демон *traf_reporter* берет данные из директории /var/dump/ и отправляет их на радиус демону *radiusd_traf* (контейнер asr_billing). Демон radiusd_traf кладет данные в отдельную базу, в последствии [worker|Worker (ядро биллинга)] биллинга обрабатывает эти данные и наполняет ими таблицу [counters|CarbonBilling:Счетчики услуг. Вкладка "Расход".]. |
Обработка в контейнере *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} |
|
!nf_collector_old.png|border=0! |
Обработка в основной БД биллинга: # Трафик попадает в таблицу *traf_counters*. Таблица содержит количество трафика с разбивкой по подключенным абоненту услугам. # Из таблицы *traf_counters* трафик попадает в таблицу *counters*. В ней содержится объём и стоимость трафика. # Опционально после таблицы *counters* трафик может быть учтён в таблице *arch_account_stack*. Разбивка потреблённого трафика по времени. |
|
h3. Новая схема: nfsen \-> nf_collector + traf_reporter (опционально + bstatd) |
h3. Новая схема: nfsen + nf_collector |
|
# Статистика приходит по протоколу netflow на порт 9996 и обрабатывается демоном nfcapd. [nfcapd|nfsen]; |
# nfcapd дублирует netflow поток на nf_collector по порту 9995. # Дальнейшая обработка проходит по старой схеме. |
|
!nf_collector_new.png|border=0! |
!stat_new01.png! |
|
h2. Настройка сбора статистики. |
h3. Как nf_collector обрабатывает Netflow? |
|
Для настройки сбора статистики используется web интерфейс. |
Служба nf_collector принимает Netflow и распределяет его по учётным записям по параметрам: * [Тип трафика|Тип трафика]; * Потреблённый объём; * ID учётной записи; |
|
!stat01.png|border=1,width=449,height=225! |
Особенности: * Поле NAS в учётной записи не учитывается. То есть Netflow может прийти не с NAS, а с промежуточного маршрутизатора. * Если поток придёт два Netflow потока по одной учётной записи, все они будут обработаны. Абоненту будет зачислен двойной объём трафика. * При выборе учётной записи по IP адресу [подсеть|Подсети] имеет больший вес, чем IP адрес учётной записи. Трафик будет отправлен в учётную запись с подсетью. |
|
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. Какие опции нужно включить? | |Использовать NAT в Netflow v9|Обрабатывать дополнительные параметры IPFIX| |NetFlow 5| Отключена | Отключена | |NetFlow 9| Включена | Отключена | |IPFIX| Включена | Включена | h3. Особенности реализации |
Далее {note} |
При включении Netflow v9 / IPFIX теряется возможность тарифицировать входящий трафик. Причина в том, что службы nf_collector и nf_sen не имеют возможность обрабатывать дополнительные поля из netflow 9, содержащие пару srcIP - dstIP(абонента) при входящем потоке. {note} h2. Как настроить сохранение статистики? |
|
{info} Настройка и отладка описаны в статье: [настройка и проверка netflow-потоков|Настройка и проверка netflow-потоков]. {info} |
|
!stat02.png|border=1! |
h2. Основные настройки |
|
Для настройки сбора статистики используется web интерфейс. |
|
Доступные настройки: |
!stat01.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. # *Отправлять агрегированную статистику на Биллинг* Включает подсчёт объёмов трафика и отправку её в БД биллинга. # *Адрес Биллинга для отправки статистики* IP адрес службы raddb_traf. Служба принимает значения по объёму трафика в по протоколу radius. Стандартное значение 169.254.38.13. # *Порт Биллинга для отправки статистики* Порт службы raddb_traf. Стандартное значение 3813. |
Далее |
|
h2. Настойки сохранения сырой статистики |
!stat02.png|thumbnail,border=1,width=200! |
|
Так же web интерфейсе можно настроить параметры сохранения сырой статистики: |
Основные настройки: |
|
* *Включить bstatd для детальной статистики (снято с поддержки)* - Включает использование демона bstatd. В этом случае статистика собирается в формате bstatd её можно увидеть в Разделе [детальная статистика|Детальная статистика] в учётной записи абонента; * *Порт для сбора статистики* - Порт, на котором будет приниматься netflow трафик. Стандартное значение *9996*; * *IP для дублирования статистики* - IP для дублирования статистики. Используется для отправки статистики nfcapd в nf_collector. Стандартное значение 169.254.99.95; * *Порт для дублирования статистики* - Порт для дублирования статистики. Стандартное значение 9995; * *Включить сбор статистики* - Опция включает использование службы nf_collector. Превращает netflow в агрегированную статистику; * *Сохранять сырую статистику в формате nfcapd для анализа nfsen* - Опция включает сохранение сырой статистики в формате nfcapd. Далее её можно просматривать в web интерфейсе [nfsen|nfsen]; * *Отправлять агрегированную статистику на Биллинг* - Включает подсчёт объёмов трафика для последующей тарификации в биллинге. * *Адрес Биллинга для отправки статистики* - IP адрес службы raddb_traf. Служба принимает значения по объёму трафика по протоколу radius. Стандартное значение 169.254.38.13; * *Порт Биллинга для отправки статистики* - Порт службы raddb_traf. Стандартное значение 3813. |
|
!stat03.png|border=1! |
h2. Настойки сохранения сырой статистики |
|
Так же web интерфейсе можно настроить параметры сохранения сырой статистики: |
|
Настройки: |
!stat03.png|thumbnail,border=1,width=200! |
|
Настойки сохранения сырой статистики: |
# * *IP адрес для доступа к API биллинга:* - По умолчанию: 169.254.80.82. *Недоступно для редактирования*; |
IP адрес для доступа к API биллинга. По умолчанию: 169.254.80.82. В данный момент недоступно для редактирования. |
# * *Логин для доступа к API биллинга:* - По умолчанию root. *Недоступно для редактирования*; |
Логин для доступа к API биллинга. По умолчанию root. В данный момент недоступно для редактирования. |
# * *Пароль для доступа к API биллинга:* - По умолчанию servicemode. *Недоступно для редактирования*; |
Пароль для доступа к API биллинга. По умолчанию servicemode. В данный момент недоступно для редактирования. |
# * *Порт для доступа к API биллинга:* - По умолчанию 8082. *Недоступно для редактирования*; |
Порт для доступа к API биллинга. По умолчанию 8082. В данный момент недоступно для редактирования. |
# * *Объем данных для подтверждения валидности ip адреса клиента, мб.* ; |
Объем данных для подтверждения валидности ip адреса клиента, мб. |
# * *Интервал экспорта детальной статистики (bstatd):* - По умолчанию 30 секунд; |
Интервал экспорта детальной статистики (bstatd). По умолчанию 30 секунд. |
# * *Порог для экспорта статистики, мб.* - По умолчанию 512; |
Порог для экспорта статистики, мб. По умолчанию 512. |
# * *Интервал проверки массива экспорта в bstatd, сек.* - По умолчанию 300, определяет, как часто данные из каталога */var/stat/agreg/trash/* будут распределяться в */var/stat/binstat/* по учетным записям; |
Интервал проверки массива экспорта в bstatd, сек. По умолчанию 300. # *Директория сохранения статистики для Биллинга* |
* *Директория сохранения статистики для биллинга* - Используется для сохранения статистики об объёмах трафика и дальнейшей передачи её в биллинг через службу reporter. По умолчанию */var/dump* ; |
# *Экспорт статистики по времени в Биллинг, сек.* Интервал времени, в который служба reporter переносит данные по объёму трафика в БД биллинга. По умолчанию 1800 сек. # *Уровень логгирования:* |
* *Экспорт статистики по времени в Биллинг, сек.* - Интервал времени, в который служба reporter переносит данные по объёму трафика в БД биллинга. По умолчанию 1800 секунд. Чем меньше параметр, тем быстрее биллинг будет реагировать на учтённый объём трафика. Например, отключать услугу трафика. Вместе с тем уменьшение параметра приведёт к повышению нагрузки на систему. |
* *Уровень логирования:* Уровень логирования nf_collector. Используется при поиске проблем. Доступные значения: ERROR, INFO, DEBUG. Значение по умолчанию ERROR; |
# *Использовать NAT в Netflow v9:* |
* *Использовать NAT в Netflow v9:* - В сырую и агрегированную статистику будет сохраняться SNAT адрес.; |
# * *Директория сохранения статистики для bstatd:* - По умолчанию */var/stat/raw* ; |
Директория сохранения статистики для bstatd. По умолчанию /var/stat/raw. # *Сохранять статистику для bstatd:* При включённой опции статистика будет сохраняться для обработки демоном bstat. # *Директория для сохранения:* |
* *Сохранять статистику для bstatd:* - При включённой опции статистика будет сохраняться для обработки демоном [bstatd|bstatd]; |
* *Директория для сохранения:* - Директория для сохранения статистики в формате nfcapd. По умолчанию /var/stat/raw. */var/stat/raw* ; |
# *Сохранять сырую статистику:* При включённой опции статистика будет сохраняться для обработки демоном nfcapd. # *Размер одного файла:* |
* *Сохранять сырую статистику:* При включённой опции статистика будет сохраняться для обработки службой [nfcapd|nfsen]; |
* *Размер одного файла:* Размер одного файла для сохранения статистики. По умолчанию 50 Мб. |