Skip to end of metadata
Go to start of metadata

Программа осуществляет контроль состояния системы abills/libexec/billd

Формат запуска

billd [plugin] [parameters]

Возможности

  • контроль активности абонентов

  • контроль состояния депозита

  • контроль скорости

  • контроль синхронизации сессий с состоянием билинга, и удаление зомби сессий

  • контроль работы программ

  • существует интерфейс наращивания функционала через плагины

Установка

/etc/crontab

*/5     *       *       *       *       root    /usr/abills/libexec/billd

Аргументы командной строки 

checkppp    - check Active ppp on FreeBSD session and disconnect unknown ip
checkppp    - check Active ppp on FreeBSD session and disconnect unknown ip
check_cisco_cid - check Cisco cids
checkpppd   - check Active pppd on Linux session and disconnect unknown ip
check_pptpd - chack Active PoPToP deamon on Linux
checkmikro  - check Active ppp on Mikrotik session and disconnect unknown ip.
CHECK speed
 checkspeed       - check cure speed for user on FreeBSD and Linux NAS. Arguments NAS_IDS=xx
   SHOW_SPEED=1  - Only show current speed
 checkspeed_mikro - check cure speed for user on Mikrotik. Arguments NAS_IDS=xx
 
 HANGUP_ACTIONS=  - Список типов статусов скидывания. Скидывать только по статусам указанным в опции.
     UNKNOWN_TP,CHANGE_TP,CHANGE_STATE,LOST_SESSION,EXPIRED,DUBLICATE_IP,NEG_DEPOSIT,RECHARGE  speed_expr       - Speed Expration
 SHOW_CUR_SPEED   - Show current users speed
 OS               - Local OS (Linux|FreeBSD). Optional params
 PLUGINS
   check_dublicates
   check_programs
 
 CHECK connection Alive
  checklines  - Check alive connections
  -d          - deamon mode
 
  debug       - debug mode
  NAS_IDS=... - Make actions for NAS

Контроль Internet соединений


Програма контролирует депозит и статус абонентов, скидывает сессии если они переходят со статуса активно в статус отключено. Также проверяет депозит абонента и отключает должников.

При отключении сессии через RADIUS PoD система проверяте ответ от сервера доступа, если в ответе получает  Error-Cause -> Session-Context-Not-Found сессия помечается как подозрительная и отправляется в ZAP.


Типы статусов скидывания сессий

UNKNOWN_TP 
скинуть сессию елси абонента уже нет в базе (удалили)
CHANGE_TP Изменился тарифный план абонентам
CHANGE_STATEИзменился статус услуги (услугу отключили)
LOST_SESSIONСессия потерялась
EXPIREDИстекло время работы услуги (Поле в сервисе Internet: EXPIRE)
DUBLICATE_IPДублируются IP адреса
NEG_DEPOSITОтрицательный баланс
RECHARGEПополнили баланс
DISABLEСервис отключен (услугу отключили)

Обрабатывать только определенные типы маркеров

/usr/abills/libexec/billd HANGUP_ACTIONS="CHANGE_TP,NEG_DEPOSIT,RECHARGE,CHANGE_STATE"

Плагины

Плагины программы размещаются в каталоге abills/libexec/billd.plugins/. Плагины вызываются при явном указании их названия. При вызове плагинов другие операции не производятся.

Управление плагинами

Watchdog

check_programs - плагин слежения за работой программ.

Параметры

PROGRAMS='radiusd:/usr/local/etc/rc.d/radiusd start;'Указания списка программ для слежения. 
[программа]:[команда запуска программы]

Пример: проверка работы радиуса на FreeBSD

/usr/abills/libexec/billd check_programs PROGRAMS=radiusd

Проверка работы радиуса на Linux (UBuntu)

/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start"

Пример проверки работы flow-capture на FreeBSD

/usr/abills/libexec/billd check_programs PROGRAMS="flow-capture:/usr/local/etc/rc.d/flow_capture start"

Пример проверки работы ipcad на DEBIAN

/usr/abills/libexec/billd check_programs PROGRAMS="ipcad:/usr/local/bin/ipcad -d"


mx80_change_profile - переключение профайла абонента в зависимости от времени суток. А также переключение на кастомный профайл.


Параметры

NAS_IDS=1Номер сервера доступа. Если не указан, система делает на всех серверах типа mx80
DEBUG=1Режим отладки
PROFILE=guest('no-money')Включение кастомного профайла. Для включения добавте опцию START=1 для выключения и возврата запускайте без опции START=1
NAT='svc-cgn-nat-pppoe()'Включение отключение нат профиля
DEPOSIT='<0'Фильтр депозитов


Конфигурация


$conf{BILLD_PLUGINS}='plugin:args;plugin2:args2'Список плагинов запускаемых после Онлайн проверки. Список плагинов указывается через точку с запятой. После названия плагина можно указать аргументы передаваемые ему через двоеточие


Пример

/usr/abills/libexec/billd mx80_change_profile

dhcp_clean_leases  - чистка законченных сессий Freeradius DHCP

Пример

/usr/abills/libexec/billd dhcp_clean_leases


Плагин equipment_ping

Данный плагин пингует оборудование. 
Если статус оборудования был «Отключено» и пинги начали доходить - статус меняется на «Активно».  Если статус оборудования был «Включено» и пинги перестали доходить - статус меняется на «Отключено». В случае смены статуса на «Отключено» создается событие, и все администраторы подписанные на модуль Equipment получают уведомление.

Пример:

/usr/abills/libexec/billd equipment_ping


Плагин events_check

Плагин проверяет наличие и коректность бэкапов.
Если отсутствует вчерашний backup или он сформирован не до конца генерирует событие в системе.

Если включён модуль Events, администратору отобразится всплывающее окошко о проблеме с бэкапами.

Пример:

/usr/abills/libexec/billd events_check

Плагин Events Push

Плагин отправляет все текущие уведомления (какие отобразились бы в Веб-интерфейсе ) Push уведомлениями (Нужно настроить Push уведомления)

Пример:

/usr/abills/libexec/billd events_push


Отправка писем о депозите отдельно от периодических начислений

/usr/abills/libexec/periodics daily NO_USERS_WARNINGS=1
/usr/abills/libexec/periodics monthly NO_USERS_WARNINGS=1
/usr/abills/libexec/periodics daily FN=dv_users_warning_messages

Дублирование удалённой базы

Автоматическое скачивание и наполнения локальной базы на основе удалённого дампа. Удобно использовать при создании тестового сервера и автоматического его обновления с основного. Программа скачивает дамп за текущее число с удалённого сервера и наполняет локальную базу. Можно использовать через cron для ежедневного обновления.

/usr/abills/libexec/billd sync_db

Параметры

DEBUG=1..7Режим отладки

Опции настройки

Удалённый хост синхронизации

$conf{SYNC_DB_HOST}='192.168.1.100:22:/usr/abills/backup/';

Команда синхронизации. Предназначена для синхронизации из нестандартных каталогов или хостов. При её использовании опции $conf{SYNC_DB_HOST} игнорируется.

$conf{SYNC_DB_DOWNLOAD}='scp abills_support@192.168.1.100:/usr/abills/backup/stats-%DATE%.sql.gz /usr/abills/backup/stats-%DATE%.sql.gz; '
 .'gzip -d /usr/abills/backup/stats-%DATE%.sql.gz --name /usr/abills/backup/sync_dump.sql';

Название локально базы. По умолчанию abills

$conf{SYNC_DB_NAME}='abills_3';

Анализатор логов Apache сервера

Для проверки файлов с логами нужно добавить в файл config.pl пути к проверяемым логам через символ ";"

$conf{APACHE_LOGS} = '/var/log/apache2/error.log; /var/log/apache2/access.log';

Добавить проверяемые параметры в файл /usr/abills/libexec/secure.txt. Каждый параметр с новой строки. Пример

secure.txt
SELECT
INSERT
192.168.1.1
192.168.0.0

Выполнение

/usr/abills/libexec/billd secure


Результат проверки будет отображаться по пути  /var/log/apache2/secure.log

  • No labels