Table of Contents |
---|
Программа осуществляет контроль состояния системы abills/libexec/billd
Формат запуска
Code Block | ||
---|---|---|
| ||
billd [plugin] [parameters] |
Возможности
контроль активности абонентов
контроль состояния депозита
контроль скорости
контроль синхронизации сессий с состоянием билинга, и удаление зомби сессий
контроль работы программ
существует интерфейс наращивания функционала через плагины
Установка
/etc/crontab
Code Block | ||
---|---|---|
| ||
*/5 * * * * root /usr/abills/libexec/billd -all |
Аргументы командной строки
Code Block | ||||
---|---|---|---|---|
| ||||
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= - Список типов статусов скидывания. Скидывать только по статусам указанным в опции. speed 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 | Сервис отключен (услугу отключили) |
Обрабатывать только определенные типы маркеров
Code Block |
---|
/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
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd check_programs PROGRAMS=radiusd |
Проверка работы радиуса на Linux (UBuntu)
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/freeradiusradiusd start" |
Пример проверки работы flow-capture на FreeBSD
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd check_programs PROGRAMS="flow-capture:/usr/local/etc/rc.d/flow_capture start" |
Пример проверки работы ipcad на DEBIAN
Code Block | ||
---|---|---|
| ||
/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' | Список плагинов запускаемых после Онлайн проверки. Список плагинов указывается через точку с запятой. После названия плагина можно указать аргументы передаваемые ему через двоеточие |
---|
Пример
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd mx80_change_profile |
dhcp_clean_leases - чистка законченных сессий Freeradius DHCP
Пример
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd dhcp_clean_leases |
Плагин equipment_ping
Данный плагин пингует оборудование.
Если статус оборудования был «Отключено» и пинги начали доходить - статус меняется на «Активно». Если статус оборудования был «Включено» и пинги перестали доходить - статус меняется на «Отключено». В случае смены статуса на «Отключено» создается событие, и все администраторы подписанные на модуль Equipment получают уведомление.
Пример:
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd equipment_ping |
Плагин events_check
Плагин проверяет наличие и коректность бэкапов.
Если отсутствует вчерашний backup или он сформирован не до конца генерирует событие в системе.
Если включён модуль Events, администратору отобразится всплывающее окошко о проблеме с бэкапами.
Пример:
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd events_check |
Плагин Events Push
Плагин отправляет все текущие уведомления (какие отобразились бы в Веб-интерфейсе ) Push уведомлениями (Нужно настроить Push уведомления)
Пример:
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd events_push |
Отправка писем о депозите отдельно от периодических начислений
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/periodics daily NO_USERS_WARNINGS=1 /usr/abills/libexec/periodics momnthlymonthly NO_USERS_WARNINGS=1 /usr/abills/libexec/periodics daily FN=dv_users_warning_messages |
Дублирование удалённой базы
Автоматическое скачивание и наполнения локальной базы на основе удалённого дампа. Удобно использовать при создании тестового сервера и автоматического его обновления с основного. Программа скачивает дамп за текущее число с удалённого сервера и наполняет локальную базу. Можно использовать через cron для ежедневного обновления.
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/billd sync_db |
Параметры
DEBUG=1..7 | Режим отладки |
---|
Опции настройки
Удалённый хост синхронизации
Code Block | ||
---|---|---|
| ||
$conf{SYNC_DB_HOST}='192.168.1.100:22:/usr/abills/backup/'; |
Команда синхронизации. Предназначена для синхронизации из нестандартных каталогов или хостов. При её использовании опции $conf{SYNC_DB_HOST} игнорируется.
Code Block | ||
---|---|---|
| ||
$conf{SYNC_DB_DOWNLOAD}='scp asm@192abills_support@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 | ||
---|---|---|
| ||
$conf{SYNC_DB_NAME}='abills_3'; |
Анализатор логов Apache сервера
Для проверки файлов с логами нужно добавить в файл config.pl пути к проверяемым логам через символ ";"
Code Block |
---|
$conf{APACHE_LOGS} = '/var/log/apache2/error.log; /var/log/apache2/access.log'; |
Добавить проверяемые параметры в файл /usr/abills/libexec/secure.txt. Каждый параметр с новой строки.Пример
Code Block | ||
---|---|---|
| ||
SELECT
INSERT
192.168.1.1
192.168.0.0 |
Выполнение
Code Block |
---|
/usr/abills/libexec/billd secure |
Результат проверки будет отображаться по пути /var/log/apache2/secure.log