nas_event_daemon

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

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

просмотр истории страницы
* При управлении оборудованием по ssh или telnet могут возникать проблемы: ssh может работать недостаточно быстро, telnet часто имеет ограничение на одновременное количество сессий{note}

h2. Еще немного технических деталей

Все службы биллинга (radius, rtsh, и тд) формирующие события на отправку добавляют их сначала в таблицу базы данных EVENTS_STACK_COMPACT, указывая при этом основные данные - что сделать (cmd), с какой учтеной записью (user_id), абонентом (abonent_id), на какой NAS отправить команду (nas_ip), при необходимости по какой услуге (usluga_id) и если это события RADIUS - то ID сессии (acct_session_id).

[Ядро биллинга|CarbonBilling:Worker (ядро биллинга)] обрабатывает компактный стек, собирая большой набор переменых для передачи скрипту управления и перемещает их в основной стек (EVENTS_STACK).

h3. Конструктор отчетов

Используемые таблицы: EVENTS_STACK_COMPACT, EVENTS_STACK.

Вряд ли Вам потребуется их использовать в констукрторе отчетов, стеки динамические, но это может быть полезно при отладке из командной строки.

h3. API

Используемые модели: EventsStackCompact, EventsStack.

h1.Настройка


По этим логам можно попробовать диагностировать проблему на конкретном абоненте, что может существенно снизить время поиска решения.

h2. Как массово отправить команды по абонентам
Вам потребуется создать скрипт:
* Получите данные абонентов и учетных записей по заданным параметрам [SQL-запросом командой sqlexec|CarbonBilling:Конструктор отчетов] и передайте полученные данные (ID абонентов, учетных записей, IP-адреса и тд) в команду которой управляется оборудование (SSH, RADIUS CoA и тд)
* Так же получить данные с sqlexec и передайте их по API создавая объекты в моделе EventsStackCompact, например так: \\ \\
{code}#/bin/bash

sqlexec "set list; select id from users u where nas_id=1112" | awk '$2{print $2}' | while read user_id; do
curl -XPOST 'http://169.254.80.82:8082/rest_api/v2/EventsStackCompact/' -d 'method1=objects.create&arg1={"user_id": '$user_id',"cmd":"user_redirect_cancel"}'
done

exit 0{code}