|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (8)
просмотр истории страницы... |
* Базовый скрипт событий: */var/lib/event/sync/*{color:#ff0000}{*}NAS-IP{*}{color}*/* * OSS-схема: */*{color:#ff0000}{*}OSS-директория{*}{color}*/cache/sync/*{color:#ff0000}{*}NAS-IP{*}{color}*/* |
{note}При интеграции "Пользовательской" схемы, в её директории должна быть папка *bin* и в ней - файл *session*, иначе синзронизация будет завершаться с ошибкой: {code}/usr/local/bin/sync_nas: line 196: /var/oss/core/test/bin/session: Нет такого файла или каталога{code} Пользовательский скрип можно оставить в папке bin, а не ubin, или сделать его гиперссылкой: {code}ln -s /var/oss/core/test/ubin/session /var/oss/core/test/bin/session{code}{note} |
Более детальное описание: |
... |
\\ \\ |
{note}Если в списки, загруженные с оборудования, попал адрес, не относящийся к кому-либо из абонентов биллинга, то по нему не будет отправлено никаких команд. В логе синхронизации будет ошибка: {code}ERROR' user_id= abonent_id= not found for 10.88.0.72 try direct call{code} В приведенном примере, синхронизатор нашел на NAS IP 10.88.0.72, но он не привязан какой-либо учетной записи.{note} \\ |
#* *auth_list.nas.add*: user_add #* *auth_list.nas.del*: user_del |
... |
* Авторизованные абоненты * Отрицательный баланс |
\\ \\ {note}Если по какой-то причине с оборудования пришел пустой список авторизованных абонентов, то автоматическая синхронизация по этому NAS не запустится. |
|
Для примера возьмём оборудование Mikrotik. Допустим, что интегрированный с биллингом Mikrotik вышел из строя и вы заменили его на новый. Загрузили правила [firewall|firewall_filter.cfg], но адрес листы по абонентам на нём не появляются. При попытке запустить синхронизацию вручную в логе синхронизации будет строка: {code}В файле /var/oss/core/Mikro_test/cache/sync/%IP-адрес NAS%//auth_list.nas 0 непустых строк{code} Для решения проблемы нужно внести произвольный адрес в адрес лист *crb_auth_list*. После этого остальные адреса будут добавлены синхронизацией. {code} /ip firewall address-list add address=192.168.254.254/32 list=crb_auth_list {code} {note} |
h1. Ручной запуск синхронизации |
Синхронизацию можно запустить как по всем NAS, так и по конкретному оборудованию, что может быть полезно для отладки или решения проблемы с сессиями абонентов на определенном NAS. |
h2. Для всех NAS *sync_nas* запускает синхронизацию всех маршрутизаторов сразу при запуске, перезапустить её вручную можно следующими способами: |
... |
Так же Вы можете выполнить скрипт синхронизации конкретного маршрутизатора с повышенным логированием, например: {code}bash -x /usr/local/bin/sync_nas --nas 169.1.18.12 --scriptname xge_router.sh --coa_psw 12345pass --debug{code} |
{note}Файл *sync_nasd.log* записывается только при запуске системы синхронизации *sync_nasd*, при запуске непосредственно скрипта *sync_nas* +логи записаны не будут+!{note} |
h1. Синхронизация с NAS XGE Для того, что бы принудительно синхронизировать абонентов на NAS XGE нужно выполнить следующие действия: * Удалить старые сессии на XGE: {code} rm -f /app/xge/var/lib/xge_sessions/* {code} * Перейдите в контейнер asr_billing: {code}chroot /app/asr_billing{code} * Перезапустить sync_nasd: {code}service sync_nasd restart{code} * Найдите команду синхронизации данных с NAS XGE: {code}grep 'sync_nas --nas' /var/log/sync_nasd.log{code} Для NAS XGE встроенного в SoftRouter команда синхронизации будет выглядеть следующим образом: {code}sync_nas --nas 169.254.18.12 --scriptname xge_router.sh --coa_psw algosolarsystem --radius_secret algosolarsystem --telnet_login - --telnet_password - --telnet_port - --oss_path - --scheme_name -{code} * Запустите команду синхронизации. * Выйдите из контейнера asr_billing: {code}exit{code} |
Но Вы можете перенаправить вывод скрипта в отдельный файл для последующего анализа, например: {code}sync_nas --nas 169.1.18.12 --scriptname xge_router.sh --coa_psw 12345pass --debug &> sync_nas_xge_debug.log{code}{note} |