Документация по версии 1.4 — различия между версиями

Материал из ExpertBilling
Перейти к: навигация, поиск
(Обзор возможностей)
 
(не показано 59 промежуточных версий 5 участников)
Строка 1: Строка 1:
{{H:h|Template:{{NAMESPACE}}:Editor toc}}
 
 
 
 
== Введение  ==
 
== Введение  ==
 
Руководство будет полезно как профессионалам, имеющим опыт работы с биллинг-системами, так и пользователям, впервые сталкивающимся с подобными программными комплексами.
 
Руководство будет полезно как профессионалам, имеющим опыт работы с биллинг-системами, так и пользователям, впервые сталкивающимся с подобными программными комплексами.
Строка 12: Строка 9:
  
 
=== Общая информация о биллинг-системах ===
 
=== Общая информация о биллинг-системах ===
В современном мире ресурсы каналов интернет-доступа остаются ограниченными, поэтому поставщики услуг (провайдеры) стремятся добиться максимальнойэффективности использования доступных интернет-мощностей.
+
[[Общая информация о биллинг-системах]]
  
Достичь высокой эффективности невозможно без гибкого управления потреблением интернет-услуг. Для учета и контроля объемов потребленных услуг интернет-доступа используются специализированные системы, которые на основе анализа сетевой статистики отслеживают активность (трафик) каждого пользователя и, в соответствии с установленными правилами, преобразуют её в единицы тарификации (как правило, деньги). Этот процесс называется тарификацией.
+
== Системные требования ==
  
Системы биллинга (или, как их часто называют, просто «биллинги»), к которым принадлежит и Expert Billing System, производят учет и тарификацию предоставляемых услуг (в данном случае ­­- интернет-трафика), а также автоматизируют процесс выставления клиентам персонифицированных счетов для оплаты.
+
Минимальные системные требования позволят запустить биллинг-систему со всеми компонентами и обеспечат работу систем тарификации и управления доступом при объёме абонентской базы в среднем до 100-150 человек. Запись сырой статистики при этом рекомендуется отключить опцией write_flow = False в файле конфигурации [[ebs_config.ini]]
  
Биллинг-системы бывают очень разными и могут классифицироваться по различным признакам: методам авторизации, принципам построения (модульности), особенности сбора статистики.
+
Рекомендуемая конфигурация(см.ниже) подойдёт для абонентской базы до 5000 человек при активном использоваии тарификации трафика и лимитов.  
  
Один из вариантов классификации современных биллинг-систем представлен на
+
Оптимальная конфигурация компьютера для системы Expert Billing System зависит от ширины обслуживаемого биллингом канала и количества активных пользователей.
схеме:
 
  
[[Файл:Ebs_020.gif]]
+
При решении типовых задач рекомендуется использовать компьютер с процессором, работающем на тактовой частоте не ниже 1 ГГц, снабженный не менее чем 512 МБ оперативной памяти.
  
В случае с использованием авторизации пользователей, отличной от RADIUS, практически всегда в биллинг встраиваются собственные средства снятия, обработки и записи наработанной статистики. Если же NAS (Network Access Server) и сам биллинг находятся на разных системах, то для снятия статистики используются проверенные средства: alive-пакеты от NAS-сервера, протокол SNMP
+
Требования к объёму свободного места на диске напрямую зависят от того, насколько активно эксплуатируется система и требуется ли вам хранить NetFlow статистику. В случае хранения этой статистики мы рекомендуем использовать винчестеры объемом от 80 ГБ.
(Simple Network Monitoring Protocol) либо NetFlow. Использование протокола NetFlow (протокол, разработанный компанией Cisco специально для мониторинга сети) позволяет получать подробнейшую информацию о сетевой активности пользователей. Данный способ сбора статистики является основным для построения мощных и отказоустойчивых систем.
 
  
== Обзор возможностей ==
+
Обратите внимание: требования к объему свободного дискового пространства вызваны тем, что база данных при активном использовании биллинг-системы может значительно увеличиваться в объеме. Для корректной работы ExpertBilling необходимо обеспечить достаточное количество свободного дискового пространства на разделе с базой данных.
  
Expert Billing System позволяет автоматизировать процесс взаиморасчётов провайдера с клиентами. Этот биллинг отличается простым и удобным интерфейсом пополнения счетов, работы с картами экспресс-оплаты (включая возможность их печати прямо из интерфейса администрирования). Также Expert Billing System позволяет производить печать договоров на подключение для физических/юридических лиц и предоставляет интерфейс кассира.
+
== Поддерживаемые ОС ==
 +
* Debian 5.1-6 32-bit
 +
* Ubuntu 9.04-10.10 32-bit. Рекомендуется 10.04
 +
* Ubuntu Server 9.04-10.10 32-bit -  Рекомендуется 10.04
 +
* Другие операционные системы на кодовой базе Debian/Ubuntu 32-bit
  
С помощью Expert Billing System можно спроектировать тарифные планы таким образом, чтобы в них пересекались различные виды тарификации: абонентская плата, разовые платежи, списание денег за трафик (с возможностью указать точный период времени и направления трафика), списание денег за время. Система позволяет автоматически начислять и списывать предоплаченный трафик/время в начале каждого расчётного периода, производить доснятие суммы до стоимости тарифного плана, динамически управлять скоростью работы клиента без обрыва соединения и гибко устанавливать лимиты трафика по указанным направлениям с указанием произвольного периода времени.
+
Использование 64-битных операционных систем '''не рекомендуется''' по причине наличия в составе биллинга встроеного оптимизатора, который не будет работать на 64-битной операционной системе. Тем самым будет наблюдаться падение производительности до 300% на некоторых задачах.
  
[[Файл:ebs_profile.png|thumb|600px]]
+
=== Минимальные системные требования ===
  
Применяемая технология управления состоянием пользователя в списках контроля доступа (ACL) на серверах доступа, имеет возможность работы совместно с обычной RADIUS авторизацией. Стоит также отметить, что поведение системы на сервере доступа полностью настраивается. Вы сможете вручную указать, когда и какие действия нужно производить при создании либо удалении клиента, его активации или деактивации, каким образом устанавливать и менять скорость для каждого клиента и разрывать сессии по отдельности для VPN и IPN подключений.
+
* CPU: 1GHz
 +
* RAM: 1GB
 +
* HDD: 20GB
  
В профиле пользователя предусмотрен расширенный набор полей для хранения всех необходимых данных и дополнительный набор полей для информации о юридических лицах. Предусмотрена возможность кредитования клиентов и указывать размер кредита.
+
=== Рекомендуемая конфигурация ===
  
Механизм управления состоянием аккаунтов позволяет отдельно для каждого из видов доступа разрешать или запрещать PPTP/PPPOE/L2TP/OVPN/IPN/DHCP-авторизацию при отрицательном балансе либо наличии блокировок, что может быть удобно, если не требуется ограничивать возможность работы клиентов полностью. В индивидуальном порядке настраиваются разрешения для пользователей по работе с веб-кабинетом и активацией карт экспресс-оплаты.
+
* CPU: 2-4 ядерный процессор от 2 GHz на ядро
 +
* RAM: 4GB
 +
* HDD: >250GB
  
Expert Billing System позволяет производить привязку аккаунтов к IP либо MAC адресам (в зависимости от способа авторизации и тарифного плана).
+
== Обзор возможностей ==
 +
[[Обзор возможностей]]
  
Система подключаемых услуг позволяет производить тарификацию дополнительных услуг провайдера, будь-то: файловый сервер, сервис Dr.Web, IPTV и другие.
+
== Структурно-логическая схема работы системы ==
 +
[[Expert Billing System]] построена на базе устоявшейся схемы с разделёнными компонентами авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет легко расширять её за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.
  
=== Ведение абонентской базы ===
+
[[Файл:ebs_029.png|center]]
* детальный профиль клиента;
 
* печать договоров на подключение;
 
* возможность работы в кредит с установлением размера кредита;
 
* возможность гибкого ведения нескольких учётных записей в пределах одного аккаунта и договора;
 
* справочники городов, улиц и домов;
 
* поля профиля для работы с юридическими лицами;
 
* скрипт для рассылки уведомлений о исчерпании баланса;
 
  
=== Тарификация услуг ===
+
[[Expert Billing System]] состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:
* создание календарей для гибкой тарификации услуг;
 
* использование расчётных периодов с возможностью активации расчётного периода в момент подключения пользователя на тарифный план;
 
* списание периодических услуг с указанием расчётного периода, способа списания (в начале, в конце, на протяжении расчётного периода), условий списания (при положительном, при положительном и нулевом, при отрицательном, при любом балансе), даты окончания действия услуги;
 
* списание разовых услуг при назначении пользователю тарифного плана;
 
* возможность продажи «пакета услуг» с доснятием необходимой суммы в конце расчётного периода;
 
* настраиваемая система разовых и периодических подключаемых услуг своможностью тесной интеграции в инфраструктуру провайдера для продажи дополнительных сервисов.
 
  
=== Учет  трафика ===
+
* Модуль core
* неограниченное количество обсчитываемых каналов и сегментов сети;
+
* Модуль rad
* возможность разделения трафика по портам, протоколам, IP сети отправителя и получателя;
+
* Модуль nf
* возможность сохранения всей подробной статистики по трафику для последующего её просмотра в текстовом форате;
+
* Модуль nfroutine
* учёт трафика по различным критериям: периоду тарификации, большему из классов, сумме классов, большему направление в классе, сумме направлений в классе и т.д.;
+
* Модуль rpc
* указание размера предоплаченного трафика по направлениям с возможностью сброса остатка в конце расчётного периода
+
* Веб-кабинет для пользователей
* Лимиты трафика c возможностью блокировки или изменения скорости работы абонента при их достижении;
 
 
 
=== Серверы доступа ===
 
* возможность работать сразу с несколькими серверами доступа;
 
* возможность создания логических серверов доступа для одного физического с разными наборами команд и опций управления;
 
* настраиваемое поведение сервера доступа при наступлении событий;
 
* тесное взаимодействие с серверами доступа под управлением MikroTik;
 
* унифицированный интерфейс работы с системой динамического шейпирования;
 
* возможность обслуживания запросов на получение IP адреса через DHCP (только MikroTik);
 
* 802.1x авторизация по логину/паролю, номеру порта или по мак-адресу на коммутаторах D-link;
 
 
 
=== Мониторинг ===
 
* монитор коммутируемых подключений с возможностью сброса сессий и просмотра причин окончания сессий;
 
* мониторинг состояния IPN пользователей;
 
* просмотр лога RADIUS авторизаций на серверах доступа, выявление проблемных абонентов;
 
* шесть типов настраиваемых графических отчётов для анализа статистических данных;
 
 
 
=== Учёт времени ===
 
* возможность тарификации услуг коммутируемого доступа(VPN/L2TP/lISG/PPPOE) по времени;
 
* возможность задания предоплаченного времени с возможностью сброса остатка в конце расчётного периода;
 
* гибкая тарификация с различной стоимостью минуты в зависимости от времени суток, дня недели и других временных рамок;
 
 
 
=== Контроль доступа ===
 
* возможность  предоставления доступа в интернет через VPN (PPTP/PPPOE/L2TP/lISG) посредством авторизации на RADIUS-сервере, поддерживающим методы авторизации PAP/CHAP/MSCHAPv2;
 
* возможность жесткой привязки IP- и МАС-адреса к аккаунту;
 
* автоматический сброс коммутируемых сессий;
 
* автоматическая блокировка IPN-пользователей;
 
* возможность указания скорости работы в зависимости от времени суток, дня недели и т.д.;
 
* изменение скорости абонента без разрыва сессии;
 
* возможность указания разрешённого времени работы;
 
* контролируемая возможность авторизации на RADIUS-сервере при недостаточном балансе или наличии блокировок отдельно для VPN и DHCP запросов;
 
* возможность указания индивидуальных настроек скорости для каждого абонента;
 
* возможность разрешения/запрещения доступа в веб-кабинет;
 
* возможность разрешения/запрещения активации карт экспресс-оплаты;
 
 
 
=== Карты доступа ===
 
* возможность генерации карт оплаты и доступа с нужным балансом для указанных тарифных планов и серверов доступа;
 
* ведение базы дилеров и распространителей карт оплаты и доступа;
 
* возможность указания скидок и рассрочек по оплате для дилеров;
 
* история продаж и взаиморасчётов с дилерами;
 
* возможность указания срока действия карт;
 
* печать карт через интерфейс администратора;
 
* выгрузка информации о картах в XML-файл;
 
* гибкий фильтр по партиям карт;
 
 
 
=== Бухгалтерия ===
 
* настраиваемые шаблоны кассовых чеков, договоров, накладных на продажу карт;
 
* пополнение лицевого счета через интерфейс администратора, интерфейс кассира, картами экспресс-оплаты, обещанным платежом;
 
* ведение статистики по всем операциям с лицевым счётом с возможностью их отмены;
 
* открытый API для работы с лицевым счётом абонентов;
 
* интеграция с платёжной системой ОСМП;
 
* просмотр информации о платежах с фильтром по кассиру, абоненту и периоду времени.
 
 
 
=== Интерфейс администратора ===
 
* GUI-приложение, работающее с серверной частью по шифрованному протоколу RPC;
 
* окно подключения с возможностью запоминания пароля, имени пользователя и адреса хоста;
 
* унифицированный текстовый поиск по значениям в таблицах;
 
* выгрузка таблиц в формате csv;
 
* возможность изменения внешнего вида;
 
 
 
=== WEB-интерфейс ===
 
* просмотр учётной информации;
 
* просмотр информации об операциях с лицевым счётом;
 
* просмотр информации о коммутируемых подключениях;
 
* просмотр информации об остатке предоплаченного трафика;
 
* просмотр информации об остатке трафика по лимитам;
 
* настраиваемая возможность пополнения счёта обещанным платежом;
 
* самостоятельное изменения списка подключаемых услуг;
 
* изменение пароля;
 
* изменение тарифного плана;
 
* просмотр контактной информации о провайдере;
 
* возможность изменения внешнего вида кабинета;
 
 
 
=== Интерфейс кассира ===
 
* просмотр учётной информации по абонентам;
 
* гибкий фильтр по абонентам;
 
* поиск по тексту в окне;
 
* возможность пополнения баланса с печатью кассового чека;
 
* возможность перевода абонентов на другие тарифные планы;
 
* просмотр состояния лимитов и остатка предоплаченного трафика;
 
* изменение списка подключаемых услуг.
 
 
 
=== Производительность ===
 
* высокопроизводительный RADIUS-сервер, способный обрабатывать сотни запросов в секунду даже на бюджетном сервере;
 
* высокопроизводительная система сбора и обработки NetFlow статистики;
 
* возможность масштабирования системы путём установки дополнительных RADIUS-серверов и коллекторов статистики;
 
 
 
== Структурно-логическая схема работы системы ==
 
Expert Billing System построена на базе устоявшейся схемы с разделёнными модулями авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет её легко расширять за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.
 
  
[[Файл:ebs_029.png]]
+
Модуль '''core''' – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.)
  
Expert Billing System состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:
+
Модуль '''rad''' предназначен для взаимодействия с сервером доступа по протоколу RADIUS.
  
* Модуль CORE
+
Модуль '''nf''' используется в качестве коллектора NetFlow v5 статистики.
* Модуль RADIUS
 
* Модуль NETFLOW
 
* Модуль NFROUTINE
 
* Модуль RPC
 
* Веб-кабинет для пользователей
 
  
Модуль CORE – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.)
+
Модуль '''nfroutine''' производит агрегацию и обработку собранной модулем nf статистики о сетевой активности пользователей.
Модуль RADIUS предназначен для взаимодействия с сервером доступа по протоколу RADIUS.
 
Модуль NETFLOW используется в качестве коллектора статистики по протоколуNetFlow.
 
Модуль NFROUTINE производит агрегацию и обработку собранной модулем NETFLOW информации о сетевой активности пользователей.
 
  
Модуль RPC предоставляет интерфейс для доступа к ядру биллинга извне (оболочка для администрирования, интерфейс кассира, некотоыре функции веб-кабинета).
+
Модуль '''rpc''' предоставляет интерфейс для доступа к ядру биллинга извне (интерфейс администратора, интерфейс кассира, некоторые функции веб-кабинета).
  
Веб-кабинет пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django. В своем веб-кабинетекаждый пользователь может контролировать состояние своей учетной записи (баланс, список активных услуг, различная статистика и др.), а такжепроизводить смену пароля и активировать карты экспресс-оплаты.
+
'''Веб-кабинет''' пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django.  
  
Клиентская часть Expert Billing System включает следующие компоненты:
+
Клиентская часть [[Expert Billing System]] включает следующие компоненты:
* Оболочка для администрирования Expert Billing Admin
+
* Интерфейс администриратора [[Expert Billing Admin]]
 
* Интерфейс кассира
 
* Интерфейс кассира
  
Оболочка для администрирования Expert Billing Admin является основным интерфейсом администратора для управления Expert Billing System, она выполнена в качестве отдельного приложения.
+
Интерфейс администратора [[Expert Billing Admin]] является основным интерфейсом администратора для управления [[Expert Billing System]], она выполнена в качестве отдельного приложения.
  
Интерфейс кассира также является отдельным приложением, которое позволяет управлять счетами пользователей (списание средств, пополнение счета и др.), а также переводить пользователей на другие тарифные платы.
+
Интерфейс кассира также является отдельным приложением, которое позволяет управлять счетами пользователей (списание средств, пополнение счета и др.), переводить пользователей на другие тарифные платы и просматривать статистику по лимитам и остатку предоплаченного трафика.
  
 
== Структура директорий ==
 
== Структура директорий ==
Строка 203: Строка 98:
 
             nf_dump/ - каталог буферного хранения NetFlow статистики.
 
             nf_dump/ - каталог буферного хранения NetFlow статистики.
 
             scripts/ - каталог с дополнительными скриптами
 
             scripts/ - каталог с дополнительными скриптами
 +
              paymentgateways/ -система импорта платежей из текстовых файлов     
 
             sql/ - каталог с первоначальным дампом базы данных
 
             sql/ - каталог с первоначальным дампом базы данных
 +
              upgrade/ - каталог с sql файлами для апгрейда биллинг-системы на новые версии
 
             temp/ - каталог хранения NetFlow статистики
 
             temp/ - каталог хранения NetFlow статистики
 
             ebs_config.ini - основной файл настроек биллинг-системы
 
             ebs_config.ini - основной файл настроек биллинг-системы
Строка 216: Строка 113:
 
           ebscab/
 
           ebscab/
 
                   settings.py - файл настроек веб-кабинета
 
                   settings.py - файл настроек веб-кабинета
 +
          django/ - веб-фреймворк django
 +
          django.wsgi - скрипт для работы apache с веб-кабинетом
 +
        backup/ - бэкапы биллинг-системы, осуществляемые скриптом апгрейда
 +
        stats/ - rrd файлы о трафике пользователей для построения графиков
 +
 +
== Настройка действий на сервере доступа ==
 +
[[Настройка действий на сервере доступа.]]
 +
 +
== Работа с документами и отчётами ==
 +
[[Создание отчётов]]
 +
 +
== Работа с субаккаунтами и аккаунтами ==
 +
 +
[[Accounts and Subaccounts|Работа с субаккаунтами и аккаунтами]]
  
 
== Принцип работы с IPN абонентами ==
 
== Принцип работы с IPN абонентами ==
ExpertBilling позволяет обслуживать как коммутируемые(PPTP/PPPOE/HoSpot), так и некоммутируемые соединения. В случае работы с IPN тарифными планами, или PPPOE/PPTP тарифными планами с дублированием IPN действий схема работы системы выглядит следующим образом.
 
  
[[Файл:ipn_alg.png]]
+
[[Работа с IPN абонентами и тарифными планами.]]
 +
 
 +
== Установка и начальная настройка ==
 +
=== Установка Ubuntu ===
 +
[[Руководство по установке Ubuntu 10.04]]
 +
 
 +
=== Настройка MikroTik для работы с ExpertBilling ===
 +
[[Статья по настройке RouterOS MikroTik 5.7]]
 +
 
 +
=== Установка биллинга ===
 +
Установка и апгрейд биллинга ExpertBilling 1.4 изменена и теперь осуществляется скриптом, идующим в комплекте.
 +
 
 +
Для установки выполните в консоли с правами суперпользователя:
 +
<pre>
 +
cd ~
 +
tar -xvzf путь к архиву с биллингом
 +
</pre>
 +
В итоге у вас должен распаковаться файл ebs_manage.py, архив с биллинг-системой, который будет иметь вид ebs-номер сборки.tar.gz, и инструкция по установке в файле install.txt.
 +
 
 +
Далее установим требуемые библиотеки и создадим начальные папки:
 +
<pre>
 +
apt-get update
 +
apt-get install postgresql postgresql-contrib mc openssh-server python-twisted python-psycopg2 openssl python-paramiko python-dateutil python-pytils python-crypto libpython2.6 libapache2-mod-wsgi python-jsonpickle python-simplejson rrdtool snmp python-pexpect python-pip
 +
 
 +
pip install ipaddr mako IPy
 +
 
 +
mkdir /opt/ebs
 +
 
 +
</pre>
 +
Создадим базу данных и импортируем функции для работы с типами данных. После команды '''createuser -P -s ebs''' система спросит у вас пароль для пользователя базы данных ebs. Запишите и запомните его.
 +
<pre>
 +
su postgres
 +
$createuser -P -s ebs
 +
$createdb -O ebs ebs
 +
Для версии postgresql<9
 +
$psql ebs -f /usr/share/postgresql/8.4/contrib/int_aggregate.sql
 +
$psql ebs -f /usr/share/postgresql/8.4/contrib/_int.sql
 +
Для версии postgresql>9
 +
$psql ebs
 +
ebs=# create extension intagg;
 +
ebs=# create extension intarray;
 +
ebs=# exit;
 +
$exit
 +
exit
 +
</pre>
 +
 
 +
Запустите утилиту установки биллинга и вводите требуемые значения для доступа к БД. Скрипт 3 раза спросит пароль для доступа к базе данных, имя и параметры подключения к базе данных. Введите пароль, указанный выше при создании пользователя базы данных.
 +
<pre>
 +
python ebs_manage.py install имя распакованного архива с биллингом(вид ebs-*****.tar.gz)
 +
</pre>
 +
Часть установки веб-кабинета инсталлятор выполнит автоматически. Для окончания настройки укажите параметры подключения к базе данных и свою временную зону в файле /opt/ebs/web/ebscab/settings.py.
 +
Затем  пара простых команд:
 +
<pre>
 +
cd /opt/ebs/web/ebscab/
 +
ln -s ../django django
 +
python manage.py syncdb --noinput
 +
</pre>
 +
После этого выполните команду billing start и проверьте лог-файлы биллинг-системы на предмет наличия ошибок. Остановить все процессы биллинг-системы можно командой billing stop или billing force-stop. Для корректного завершения рекомендуем пользоваться первым вариантом команды.
 +
 
 +
Сейчас откройте EBSAdmin, укажите IP-адрес сервера с биллингом, имя admin, пароль admin, и попробуйте подключиться.
 +
[[Инструкция по установке серверной части биллинг-системы ExpertBilling 1.4]](устаревшее, вариант ручной установки)
 +
 
 +
=== Обновление системы ===
 +
'''Внимание!!!'''
 +
Перед обновлением системы убедитесь, что папка /opt/ebs/data/temp пуста, иначе создание бэкапа может длиться очень долго.
 +
 
 +
Для обновления версии 1.4.1 на более свежую ревизию необходимо распаковать архив, полученный от разработчика. Обычно он имеет вид XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.tar.gz, где XXXXX - ключ keygetter-а.
 +
<pre>
 +
tar -xvzf XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.tar.gz
 +
</pre>
 +
В результате чего появятся файлы:
 +
<pre>
 +
ebs-XXXXM.tar.gz
 +
install.txt
 +
ebs_manage.py
 +
</pre>
 +
Необходимо просмотреть файл install.txt на предмет появления новых зависимостей и удовлетворить их.
 +
После чего нужно посмотреть в файле /opt/ebs/data/ebs_config.ini параметры подключения к БД и запустить обновление:
 +
<pre>
 +
python ebs_manage.py upgrade ebs-XXXXM.tar.gz
 +
</pre>
 +
Система несколько раз спросит данные от БД. Введите их.
 +
Во время обновления могут возникнуть ошибки обновления схемы базы данных, после чего система спросить продолжать ли обновление. В таких случаях желательно проимпортировать проблемные запросы руками через консоль psql и продолжить обновление, или обратиться к разработчику.
 +
В процессе обновления скрипт спросит обновлять ли веб-кабинет. Как правило, это необходимое действие. После обновления веб-кабинета нужно его заново настроить (/opt/ebs/web/ebscab/settings.py).
 +
Повторной настройки после каждого обновления можно избежать, если создать рядом с settings.py файл settings_local.py и переопределить в нём нужные настройки из settings.py.
 +
 
 +
После окончания обновления выполните команду billing start.
 +
 
 +
В случае, если потребовалось откатиться - дамп папки data, ebscab и базы данных скрипт обновления создаёт в /opt/ebs/backup/.
 +
 
 +
 
 +
=== Установка веб-кабинета ===
 +
Обратите внимание, что файл ebs_manage.py проводит всю работу и данное руководство нужно только, если вы будете устанавливать веб-кабинет руками.
 +
 
 +
 
 +
[[Инструкция по установке веб-кабинета]].
 +
 
 +
=== Настройка HelpDesk ===
 +
[[HelpDeskSetup|Настройка HelpDesk]]
 +
 
 +
=== Установка и настройка дополнительных скриптов ===
 +
[[Вспомогательные скрипты и утилиты]]
 +
 
 +
[[Система мониторинга загрузки серверов доступа]]
 +
 
 +
== Установка клиентской части ==
 +
 
 +
== Формат хранения сырой статистики ==
 +
[[RawNetFlowStat| Формат хранения сырой статистики]]
 +
 
 +
== Установка и настройка HotSpot ==
 +
 
 +
[[HotSpot Mikrotik|Настройка и описание работы MikroTik HotSpot]]
  
 +
== Защита от нелегального копирования ===
  
=== Схема работы с IPN тарифными планами ===
+
'''Внимание!!! Expert Billing System является продуктом интеллектуального труда. Его нелегальное распространение и использование преследуется по закону.'''
При создании абонента система посылает на сервер доступа команду "Добавить абонента" из настроек сервера доступа в интерфейсе администратора. Команда "Добавить абонента" является шаблоном, в котором служебные слова $access_type, $password, $username, $user_id, $account_ipn_ip, $account_vpn_ip, $account_mac_address заменяются соответствующими значениями. Резальтатом работы команды должны стать добавленные, но неактивированные записи.
 
  
Установка скорости производится аналогичным способом через NAS Actions. В дополнение к подстановочным символам из команды на добавление абонента здесь используются $max_limit_tx, $max_limit_rx, $burst_limit_tx, $burst_limit_rx, $burst_treshold_tx, $burst_treshold_rx, $burst_time_tx, $burst_time_rx, $priority, $min_limit_tx, $min_limit_rx. Следуюет обратить внимание, но то, что перед добавлением записи, система должна перестраховаться и удалить уже возможно существующую с таким же идентификатором. Биллинг посылает команду на установку/изменение скорости в случае если скорость ещё не установлена или изменилась.
+
Каждый серверный компонент Expert Billing System при установке привязывается к аппаратной конфигурации сервера. Это означает, что при изменении конфигурации системы (в частности, переразбивке/замене/добавлении/удалении жестких дисков, изменении номера активного интерфейса, добавлении/удалении любых IDE/SATA/SСSI-устройств, добавлении/извлечении USB дисков) и смене ОС система не будет работать из-за ограничений, налагаемых защитой от нелегального копирования. При изменении конфигурации оборудования вам необходимо обратиться к разработчику для получения новой копии Expert Billing System.
  
Активация абонента должна приводить к активации добавленных на сервер доступа записей. Активация происходит в том случае, если абонент не активен и у него нет блокировок или ограничений по размеру баланса. Для активации используется соответствующий NAS Actions из параметров сервера доступа. В данной команде можно использовать те же подстановочные символы, что и для добавления абонента.
+
В комплекте поставки системы имеется файл license.lic, уникальный для каждого легального пользователя системы. Он является частью системы защиты Expert Billing System от нелегального распространения и не подлежит модификации и удалению. В случае его отсутствия или изменения, биллинг-система не будет работать.
  
Деактивация абонента должна приводить к деактивации добавленных на сервер доступа записей. Деактивация происходит в том случае, если абонент активен и у него появилась одна или несколько блокировок.
+
В соответствии с лицензионным соглашением, покупатель получает права на модификацию и распространение кода веб-кабинета. При этом компания-разработчик Expert Billing System не несет никакой ответственности за возможный ущерб, нанесенный по причине использования модифицированного веб-кабинета.
  
Удаление абонента происходит при его удалении из системы. Используемые подстановочные символы аналогичны команде добавления.Обратите внимание, что команда удаления с сервера доступа так же выставляет в системе статус "Не активен на сервере доступа".
+
== Решение проблем ==
 +
[[Решение проблем с интерфейсом администратора]]
  
Состояние каждого абонента вы можете контроллировать через EBS Admin в списке абонентов.
+
[[Решение проблем с ядром]]
  
[[Файл:account_ipn_status.png]]
+
[[Решение проблем с веб-кабинетом]]
  
 +
[[Перетарификация]]
  
=== Статус аккаунта ===
+
[[Monit|Настройка мониторинга процессов биллинга]]
Четыре иконки напротив каждого абонента означают (слева-направо) "У клиента достаточно средств на лицевом счету для работы в текущем расчётном периоде", "У клиента нет блокировок по лимитам", "Пользователь неактивен на NAS", "Пользователь не добавлен на NAS".
 
  
ExpertBilling позволяет использовать IPN действия и для PPTP/PPPOE тарифных планов.
+
[[qiwi|Настройка приёма платежей QiWi]]
  
[[Файл:pptp_pppoe_ipn.png]]
+
[[WebmoneyMerchantSetup|Настройка приёма платежей WebMoney]]
  
 +
== Варианты настройки ==
 +
[[Настройка команд сервера доступа для привязки IP к MAC на IPN тарифе]]
  
Схема использования IPN действий для PPTP/PPPOE тарифных планов.
+
[[unlim-tarifs|Решение для провайдеров, предоставляющих безлимитные тарифные планы]]
  
IPN действия для PPTP/PPPOE тарифных планов отличаются от работы с IPN тарифными планами лиш тем, что настройки скорости для абонентов устанавливаются после каждой RADIUS авторизации.
+
[[traffic-tarifs|Решение для провайдеров, предоставляющих тарифные планы с тарификацией трафика]]
  
Использование IPN действий целесообразно тогда, когда вы не хотите запрещать PPTP/PPPOE абонентам авторизацию при их блокировке, однако хотите закрыть доступ к определённым ресурсам или перенаправлять всех таких абонентов на какие-то ресурсы.
+
== Пользовательские статьи ==
 +
[[option249|Выдача маршрутов по DHCP]]

Текущая версия на 14:41, 8 июня 2012

Содержание

Введение

Руководство будет полезно как профессионалам, имеющим опыт работы с биллинг-системами, так и пользователям, впервые сталкивающимся с подобными программными комплексами.

Для опытных пользователей порекомендуем ознакомиться с особенностями развертывания системы (раздел «Установка и предварительная настройка»), а затем обратиться к разделу «Решение задач», при необходимости уточняя детали в соответствующих подразделах раздела «Использование системы».

Если вы ранее не занимались настройкой и эксплуатацией подобных систем, советуем вам продолжить чтение по порядку. В случае необходимости, уточняйте значение терминов в глоссарии («Приложение 1»).

Для каждого из разделов системы («Тарифные планы», «Периоды тарификации» и т.п.) описываются особенности их реализации и назначение, интерфейс, а также при необходимости приводятся примеры использования возможностей Expert Billing Admin. Раздел «Решение задач» целиком состоит из пошаговых руководств по решению типовых задач.

Общая информация о биллинг-системах

Общая информация о биллинг-системах

Системные требования

Минимальные системные требования позволят запустить биллинг-систему со всеми компонентами и обеспечат работу систем тарификации и управления доступом при объёме абонентской базы в среднем до 100-150 человек. Запись сырой статистики при этом рекомендуется отключить опцией write_flow = False в файле конфигурации ebs_config.ini

Рекомендуемая конфигурация(см.ниже) подойдёт для абонентской базы до 5000 человек при активном использоваии тарификации трафика и лимитов.

Оптимальная конфигурация компьютера для системы Expert Billing System зависит от ширины обслуживаемого биллингом канала и количества активных пользователей.

При решении типовых задач рекомендуется использовать компьютер с процессором, работающем на тактовой частоте не ниже 1 ГГц, снабженный не менее чем 512 МБ оперативной памяти.

Требования к объёму свободного места на диске напрямую зависят от того, насколько активно эксплуатируется система и требуется ли вам хранить NetFlow статистику. В случае хранения этой статистики мы рекомендуем использовать винчестеры объемом от 80 ГБ.

Обратите внимание: требования к объему свободного дискового пространства вызваны тем, что база данных при активном использовании биллинг-системы может значительно увеличиваться в объеме. Для корректной работы ExpertBilling необходимо обеспечить достаточное количество свободного дискового пространства на разделе с базой данных.

Поддерживаемые ОС

  • Debian 5.1-6 32-bit
  • Ubuntu 9.04-10.10 32-bit. Рекомендуется 10.04
  • Ubuntu Server 9.04-10.10 32-bit - Рекомендуется 10.04
  • Другие операционные системы на кодовой базе Debian/Ubuntu 32-bit

Использование 64-битных операционных систем не рекомендуется по причине наличия в составе биллинга встроеного оптимизатора, который не будет работать на 64-битной операционной системе. Тем самым будет наблюдаться падение производительности до 300% на некоторых задачах.

Минимальные системные требования

  • CPU: 1GHz
  • RAM: 1GB
  • HDD: 20GB

Рекомендуемая конфигурация

  • CPU: 2-4 ядерный процессор от 2 GHz на ядро
  • RAM: 4GB
  • HDD: >250GB

Обзор возможностей

Обзор возможностей

Структурно-логическая схема работы системы

Expert Billing System построена на базе устоявшейся схемы с разделёнными компонентами авторизации, сбора статистики и ядром, отвечающим за логику работы системы. Структура биллинг-системы позволяет легко расширять её за счёт установки дополнительных RADIUS-серверов и коллекторов статистики.

Ebs 029.png

Expert Billing System состоит из серверной и клиентской частей. Серверная часть включает следующие компоненты:

  • Модуль core
  • Модуль rad
  • Модуль nf
  • Модуль nfroutine
  • Модуль rpc
  • Веб-кабинет для пользователей

Модуль core – ядро биллинга, отвечающее за бизнес-логику (тарификация, списание средств, управление состоянием пользователей и др.)

Модуль rad предназначен для взаимодействия с сервером доступа по протоколу RADIUS.

Модуль nf используется в качестве коллектора NetFlow v5 статистики.

Модуль nfroutine производит агрегацию и обработку собранной модулем nf статистики о сетевой активности пользователей.

Модуль rpc предоставляет интерфейс для доступа к ядру биллинга извне (интерфейс администратора, интерфейс кассира, некоторые функции веб-кабинета).

Веб-кабинет пользователя представляет собой веб-приложение, написанное наязыке Python с использованием веб-фреймворка Django.

Клиентская часть Expert Billing System включает следующие компоненты:

  • Интерфейс администриратора Expert Billing Admin
  • Интерфейс кассира

Интерфейс администратора Expert Billing Admin является основным интерфейсом администратора для управления Expert Billing System, она выполнена в качестве отдельного приложения.

Интерфейс кассира также является отдельным приложением, которое позволяет управлять счетами пользователей (списание средств, пополнение счета и др.), переводить пользователей на другие тарифные платы и просматривать статистику по лимитам и остатку предоплаченного трафика.

Структура директорий

 /opt/ebs/
       data/
           dicts/ - RADIUS словари
           ebscab/ - копия веб-кабинета
           fonts/ - шрифты, используемые ядром для генерации графиков
           init.d/ - init-скрипты
           log/ - каталог с лог-файлами
              core_log - лог-файл процесса core(ядра)
              rad_log - лог-файл сервера RADIUS
              nf_log - лог-файл NetFlow коллектора
              nfroutine_log - лог-файл агрегатора и тарификатора NetFlow 
              rpc_log - лог-файл rpc-сервера
           modules/ - каталог системных библиотек
           nf_dump/ - каталог буферного хранения NetFlow статистики.
           scripts/ - каталог с дополнительными скриптами
              paymentgateways/ -система импорта платежей из текстовых файлов      
           sql/ - каталог с первоначальным дампом базы данных
              upgrade/ - каталог с sql файлами для апгрейда биллинг-системы на новые версии
           temp/ - каталог хранения NetFlow статистики
           ebs_config.ini - основной файл настроек биллинг-системы
           ebs_config_runtime.ini - дополнительный внутрисистемный файл настроек биллинг-системы
           core - ядро биллинг-системы
           rad - радиус сервер
           nf - NetFlow коллектор
           nfroutine - NetFlow агрегатор и тарификатор
           rpc - RPC-сервер
           license.lic - файл лицензии
       web/
          ebscab/
                 settings.py - файл настроек веб-кабинета
          django/ - веб-фреймворк django
          django.wsgi - скрипт для работы apache с веб-кабинетом
       backup/ - бэкапы биллинг-системы, осуществляемые скриптом апгрейда
       stats/ - rrd файлы о трафике пользователей для построения графиков

Настройка действий на сервере доступа

Настройка действий на сервере доступа.

Работа с документами и отчётами

Создание отчётов

Работа с субаккаунтами и аккаунтами

Работа с субаккаунтами и аккаунтами

Принцип работы с IPN абонентами

Работа с IPN абонентами и тарифными планами.

Установка и начальная настройка

Установка Ubuntu

Руководство по установке Ubuntu 10.04

Настройка MikroTik для работы с ExpertBilling

Статья по настройке RouterOS MikroTik 5.7

Установка биллинга

Установка и апгрейд биллинга ExpertBilling 1.4 изменена и теперь осуществляется скриптом, идующим в комплекте.

Для установки выполните в консоли с правами суперпользователя:

cd ~
tar -xvzf путь к архиву с биллингом

В итоге у вас должен распаковаться файл ebs_manage.py, архив с биллинг-системой, который будет иметь вид ebs-номер сборки.tar.gz, и инструкция по установке в файле install.txt.

Далее установим требуемые библиотеки и создадим начальные папки:

apt-get update
apt-get install postgresql postgresql-contrib mc openssh-server python-twisted python-psycopg2 openssl python-paramiko python-dateutil python-pytils python-crypto libpython2.6 libapache2-mod-wsgi python-jsonpickle python-simplejson rrdtool snmp python-pexpect python-pip

pip install ipaddr mako IPy

mkdir /opt/ebs

Создадим базу данных и импортируем функции для работы с типами данных. После команды createuser -P -s ebs система спросит у вас пароль для пользователя базы данных ebs. Запишите и запомните его.

su postgres
$createuser -P -s ebs
$createdb -O ebs ebs
Для версии postgresql<9
$psql ebs -f /usr/share/postgresql/8.4/contrib/int_aggregate.sql
$psql ebs -f /usr/share/postgresql/8.4/contrib/_int.sql
Для версии postgresql>9
$psql ebs
ebs=# create extension intagg;
ebs=# create extension intarray;
ebs=# exit;
$exit
exit

Запустите утилиту установки биллинга и вводите требуемые значения для доступа к БД. Скрипт 3 раза спросит пароль для доступа к базе данных, имя и параметры подключения к базе данных. Введите пароль, указанный выше при создании пользователя базы данных.

python ebs_manage.py install имя распакованного архива с биллингом(вид ebs-*****.tar.gz)

Часть установки веб-кабинета инсталлятор выполнит автоматически. Для окончания настройки укажите параметры подключения к базе данных и свою временную зону в файле /opt/ebs/web/ebscab/settings.py. Затем пара простых команд:

cd /opt/ebs/web/ebscab/
ln -s ../django django
python manage.py syncdb --noinput

После этого выполните команду billing start и проверьте лог-файлы биллинг-системы на предмет наличия ошибок. Остановить все процессы биллинг-системы можно командой billing stop или billing force-stop. Для корректного завершения рекомендуем пользоваться первым вариантом команды.

Сейчас откройте EBSAdmin, укажите IP-адрес сервера с биллингом, имя admin, пароль admin, и попробуйте подключиться. Инструкция по установке серверной части биллинг-системы ExpertBilling 1.4(устаревшее, вариант ручной установки)

Обновление системы

Внимание!!! Перед обновлением системы убедитесь, что папка /opt/ebs/data/temp пуста, иначе создание бэкапа может длиться очень долго.

Для обновления версии 1.4.1 на более свежую ревизию необходимо распаковать архив, полученный от разработчика. Обычно он имеет вид XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.tar.gz, где XXXXX - ключ keygetter-а.

tar -xvzf XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.tar.gz

В результате чего появятся файлы:

ebs-XXXXM.tar.gz
install.txt
ebs_manage.py

Необходимо просмотреть файл install.txt на предмет появления новых зависимостей и удовлетворить их. После чего нужно посмотреть в файле /opt/ebs/data/ebs_config.ini параметры подключения к БД и запустить обновление:

python ebs_manage.py upgrade ebs-XXXXM.tar.gz

Система несколько раз спросит данные от БД. Введите их. Во время обновления могут возникнуть ошибки обновления схемы базы данных, после чего система спросить продолжать ли обновление. В таких случаях желательно проимпортировать проблемные запросы руками через консоль psql и продолжить обновление, или обратиться к разработчику. В процессе обновления скрипт спросит обновлять ли веб-кабинет. Как правило, это необходимое действие. После обновления веб-кабинета нужно его заново настроить (/opt/ebs/web/ebscab/settings.py). Повторной настройки после каждого обновления можно избежать, если создать рядом с settings.py файл settings_local.py и переопределить в нём нужные настройки из settings.py.

После окончания обновления выполните команду billing start.

В случае, если потребовалось откатиться - дамп папки data, ebscab и базы данных скрипт обновления создаёт в /opt/ebs/backup/.


Установка веб-кабинета

Обратите внимание, что файл ebs_manage.py проводит всю работу и данное руководство нужно только, если вы будете устанавливать веб-кабинет руками.


Инструкция по установке веб-кабинета.

Настройка HelpDesk

Настройка HelpDesk

Установка и настройка дополнительных скриптов

Вспомогательные скрипты и утилиты

Система мониторинга загрузки серверов доступа

Установка клиентской части

Формат хранения сырой статистики

Формат хранения сырой статистики

Установка и настройка HotSpot

Настройка и описание работы MikroTik HotSpot

Защита от нелегального копирования =

Внимание!!! Expert Billing System является продуктом интеллектуального труда. Его нелегальное распространение и использование преследуется по закону.

Каждый серверный компонент Expert Billing System при установке привязывается к аппаратной конфигурации сервера. Это означает, что при изменении конфигурации системы (в частности, переразбивке/замене/добавлении/удалении жестких дисков, изменении номера активного интерфейса, добавлении/удалении любых IDE/SATA/SСSI-устройств, добавлении/извлечении USB дисков) и смене ОС система не будет работать из-за ограничений, налагаемых защитой от нелегального копирования. При изменении конфигурации оборудования вам необходимо обратиться к разработчику для получения новой копии Expert Billing System.

В комплекте поставки системы имеется файл license.lic, уникальный для каждого легального пользователя системы. Он является частью системы защиты Expert Billing System от нелегального распространения и не подлежит модификации и удалению. В случае его отсутствия или изменения, биллинг-система не будет работать.

В соответствии с лицензионным соглашением, покупатель получает права на модификацию и распространение кода веб-кабинета. При этом компания-разработчик Expert Billing System не несет никакой ответственности за возможный ущерб, нанесенный по причине использования модифицированного веб-кабинета.

Решение проблем

Решение проблем с интерфейсом администратора

Решение проблем с ядром

Решение проблем с веб-кабинетом

Перетарификация

Настройка мониторинга процессов биллинга

Настройка приёма платежей QiWi

Настройка приёма платежей WebMoney

Варианты настройки

Настройка команд сервера доступа для привязки IP к MAC на IPN тарифе

Решение для провайдеров, предоставляющих безлимитные тарифные планы

Решение для провайдеров, предоставляющих тарифные планы с тарификацией трафика

Пользовательские статьи

Выдача маршрутов по DHCP