В биллинговой системе ABillS можно настроить проверку состояния любых запущенных программ, и настроить автоматический запуск если какая либо из них не запущена.
Например для слежением за FreeRadius необходимо выполнять команду:
/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start"
Где «radiusd» — имя программы в процессах, а «/etc/init.d/radiusd start» команды для ее запуска.
Правильные имена запущенных программ можно посмотреть например набрав команду:
top
Можно указать сразу несколько программ, и например, чтобы убедится что проверка работает, остановим службы, проверим вручную их статус:
/etc/init.d/radiusd stop /etc/init.d/accel-ppp stop /etc/init.d/radiusd status /etc/init.d/accel-ppp status
Потом выполним команду:
/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start;accel-ppp:/etc/init.d/accel-ppp start;"
И убедимся что службы запустились:
/etc/init.d/radiusd status /etc/init.d/accel-ppp status
Для автоматической проверки, добавим задание в /etc/crontab (команда будет выполняться каждые 5 минут):
*/5 * * * * root /usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start;accel-ppp:/etc/init.d/accel-ppp start;"
Аналогично можно настроило слежение за named, mysql и т.д.
Когда вам нужно будет действительно остановить службу, нужно учесть что команда из cron вновь запустит её, по этому при необходимости можно будет временно закомментировать её.
Так как при запуске программы также отправляется сообщение в биллинг через модуль Events, то установим его.
Импортируем таблицы в базу:
mysql -u root --default-character-set=utf8 -D abills < /usr/abills/db/Events.sql
Откроем конфигурационный файл в тектовом редакторе:
nano /usr/abills/libexec/config.pl
В списке модулей добавим модуль ‘Events’:
@MODULES = ( '...', 'Events', '...', );
Уведомления по умолчанию включены для администраторов и клиентов.
Можно отключить уведомления для клиентов добавив опцию:
$conf{USER_PORTAL_EVENTS_DISABLED}=1;
Каждый администратор может отключить для себя уведомления в меню Профиль, поставив галочку на «Отключено» напротив «События».
Смотрите также мою статью:
Установка и настройка биллинговой системы ABillS