nas_event_daemon

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (3)

просмотр истории страницы
{toc}

h1. Для чего нужен nas_event_daemon

h1. Отладка

h2. Проверьте запущен ли демон

Выполните команду "ps aux | grep nas_event_daemon" в терминале, вывод должен быть приблизительно следующим:
{code}# ps aux | grep nas_event_daemon
root 13560 0.0 0.0 106184 1608 ? Ss 10:40 0:00 /bin/bash /usr/local/sbin/nas_event_daemon
root 14291 0.0 0.0 103320 920 pts/0 S+ 10:40 0:00 grep nas_event_daemon
{code}
Первая строка "*/bin/bash /usr/local/sbin/nas_event_daemon*" говорит о том что демон запущен.


h2. Проверьте стек событий на отправку

Узнать количество команд в стеке с группировкой по типу команды можно выполнив скрипт *event_count.sh*:
{code}chroot /app/asr_billing/ event_count.sh{code}
#* *NAS_ID* - ID NAS/BRAS
#* *TRY_COUNT* - количество выполненных попыток отправки команд

h3. Поиск причины переполнения стека

В зависимости от ситуации и схемы интеграции с NAS, нормальным можно считать следующее количество событий:
* Штатная работа - до 200 событий суммарно в events_stack и events_stack_compact
* Массовая авторизация на NAS (например, после перезагрузки) - до 5 на абонента в суммарно в events_stack и events_stack_compact.
Например, на NAS 1000 абонентов. Сразу после перезагрузки NAS может скопиться до 5000 событий из-за большого количества авторизаций в короткий срок.

При скоплении событий в стеке, они должны отправляться на оборудование со скоростью около 1000 в минуту.
Если медленней, то:
* Попробуйте увеличить количество форков (описнао выше в статье)
* Посмотрите лог отправки событий, возможно NAS слишком долго выполняет полученные команды. Отправьте команду вручную и проверьте скорость ответа программой *time*.
На примере Mikrotik:
{code}# time send_mikrotik_cmd -s 10.90.185.2 admin servicemode /queue simple remove comment=crb_10.88.0.15
ERROR: UnknownParameter message: 'unknown parameter', command: '/queue/simple/remove =comment=crb_10.88.0.15' exit code: 249

real 0m0.096s
user 0m0.031s
sys 0m0.008s{code}
Время ответа не должно превышать 300 милисекунд.
* Возможно БД билинга находится на медленном носителе или прочие аппаратные проблемы мешают работе биллинга. Проведите диагностику по статье "[CarbonBilling:Проблемы с оборудованием]"

h2. Проверьте логи
h3. Лог демона
Он расположен по пути */app/asr_billing/var/log/nas_event_daemon.log*
Каждые 60 секунд демон проверяет состояние настройки NAS-серверов в биллинге и синхронизирует настройки: запускает потоки на новые NAS, актуализирует данные по ранее созданным, останавливает потоки отправки на удаленные NAS.
При запуске итерации в лог записывается строка с параметрами каждого NAS-сервера на который будут отправляться команды. Пример записи о NAS-сервере интегрированном по стандартной схеме Mikrotik-Simple:
{code}2019-08-27 10:57:41 vm185-120 nas_event_daemon[32736]: Start work with nas nasid=1116 nas_ip=10.90.185.2 oss_pathname=/var/oss/core/Mikrotik-Simple script_name=<null>{code}
* 2019-08-27 10:57:41 - дата и время записи
* vm185-120 - hostname опреационной системы
* nas_event_daemon[32736]: Start work with nas - запись о начале работы с NAS, 32736 - PID процесса демона
* nasid=1116 - ID NAS в базе биллинга
* nas_ip=10.90.185.2 - IP-адрес NAS
* oss_pathname=/var/oss/core/Mikrotik-Simple - путь [директории OSS-схемы|CarbonBilling:Интеграция оборудования интернет]
* script_name=<null> - путь до скрипта, если [стандартные OSS-схемы не используются|CarbonBilling:Интеграция оборудования интернет]

Если в логе нет записи о начале работы с Вашим NAS:
* Выбрана OSS схема, но не [инициализирована|CarbonBilling:Этап 2. Генерация конфигурации и upload на оборудование]
* Возможно настройка не была завершена - не выбрана OSS схема или не указан скрипт управления если используетс ястарая схема интеграции
* Нет файлов схемы или скрипта управления по указанному пути - такое может произойти если производили [перенос|CarbonBilling:Перенос на другой сервер или переустановка] на новый сервер

h3. Лог NAS
Логи по каждому NAS в отдельности сохраняются в папке */app/asr_billing/var/log/nas_event_daemon/*, например:
{code}/app/asr_billing/var/log/nas_event_daemon/Test_NAS_10.20.11.15.log{code}
Имя файла состоит из [наименования и IP-адреса NAS-сервера|CarbonBilling:Этап 1. Мастер Стандартной схемы NAS]
В логе записываются команды вызываемые из скрипта управления оборудованием.
{info}Их можно скопировать прямо из лога и выполнить в командной строке внутри контейнера биллинга, например:
{code}chroot /app/asr_billing
time send_mikrotik_cmd -s 10.90.185.2 admin servicemode /queue simple remove comment=crb_10.88.0.15{code}
Это может сильно помочь в диагностике.{info}
Так же в логе отражен ответ NAS-сервера. При возникновении каких-либо ошибок можно попробовать понять по документации NAS в чем именно была проблема.

h3. Лог учетной записи
Логи учтеных записей дублируют данные из лога NAS-сервера, в них пишутся только логи конкретной [учетной записи|CarbonBilling:Учетная запись. Создание и изменение.].
Они располагаются в папке */app/asr_billing/var/log/abonents/*. Рассмотрим на примере:
{code}/app/asr_billing/var/log/abonents/1375/event_1424.log{code}
* */app/asr_billing/var/log/abonents/* - папка с логами отправленных команд по абонентами и учетным записям
* *1375* - ID абонента
* event_*1424*.log - название файла, где 1424 - ID учетной записи.
По этим логам можно попробовать диагностировать проблемы конкретного абонента, что может существенно снизить время поиска проблемы.