Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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

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

Code Block
languagebash
billd [plugin] [parameters]

Возможности

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

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

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

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

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

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

Установка

/etc/crontab

Code Block
languagebash
*/5     *       *       *       *       root    /usr/abills/libexec/billd -all

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

Code Block
languagebash
collapsetrue
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
 
 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


Плагины

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

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

Watchdog

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

Параметры

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

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

Code Block
languagebash
/usr/abills/libexec/billd check_programs PROGRAMS=radiusd

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

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

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

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

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

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


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


Параметры

NAS_IDS=1Номер сервера доступа. Если не указан, система делает на всех серверах типа mx80
DEBUG=1Режим отладки


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


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


Пример

Code Block
languagebash
/usr/abills/libexec/billd mx80_change_profile

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

Пример

Code Block
languagebash
/usr/abills/libexec/billd dhcp_clean_leases


Плагин equipment_ping

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

Пример:

Code Block
languagebash
/usr/abills/libexec/billd equipment_ping


Плагин events_check

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

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

Пример:

Code Block
languagebash
/usr/abills/libexec/billd events_check


Плагин Events Push

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

Пример:

Code Block
languagebash
/usr/abills/libexec/billd events_push


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

Code Block
languagebash
/usr/abills/libexec/periodics daily NO_USERS_WARNINGS=1
/usr/abills/libexec/periodics momnthly NO_USERS_WARNINGS=1
/usr/abills/libexec/periodics daily FN=dv_users_warning_messages


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

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

Code Block
languagebash
/usr/abills/libexec/billd sync_db

Параметры

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

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

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

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

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

Code Block
languagebash
$conf{SYNC_DB_DOWNLOAD}='scp asm@192.168.1.100:22:/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

Code Block
languagebash
$conf{SYNC_DB_NAME}='abills_3';