...
- приостановление и возобновление доступа абонентов к услугам;
- установка параметров оказания услуг абонентам на оборудовании;
- рассылка абонентам уведомлений и напоминаний о платежах.
- управление портами оборудования.
Общая схема
Управление объектами (ОУ) и субъектами (СУ) учета построено на основе событий (events), возникающих при переходе ОУ/СУ из одного состояния в другое. Здесь состояние понимается в широком смысле: изменение атрибутов (в том числе дополнительных параметров, задаваемых пользователем), адресов, связей и привязок ОУ или СУ.
...
Событие вызывает набор связанных с ним действий (actions), которое преобразует эти действия в набор команд. В свою очередь, команды с помощью протокола удалённого управления передаются на выполнение агенту HAMD
— специальному внешнему приложению, непосредственно взаимодействующему с сетевыми службами или оборудованием.
Настройки событий
Соответствие друг другу событий, действий и команд задаётся в
ais_name |
---|
...
Wiki Markup |
---|
{graphviz} digraph G { size="5,5" graph [style=filled] node [style=filled, shape=box, color=black, fillcolor=white] "Управление СУ/ОУ"->{"События"; "Действия"; "Очередь команд";} "События"->"Возможные события" [dir=none] "Возможные события" [shape=record, style=rounded, label="{Привязка | Адрес | Состояние | Состояние\ родителя | Поступление\ платежа | Рекомендуемый\ платеж | Выставление\ счета | Подключение\ услуги | Отключение услуги}"]; "Действия"->"Возможные действия" [dir=none] "Возможные действия" [shape="record", style=rounded, label="{SNMP-команда | Команда\ RSH/SSH/Telnet | Shell-скрипт}"]; } {graphviz} |
События
События генерируются системой в момент, определяемый их типом. Как правило, они происходят при переводе СУ, ОУ или связанного с СУ документа (инвойса, платежного поручения) в то или иное состояние.
...
- Тип события.
- Тип (позиция номенклатуры) управляемого ОУ.
- Тип привязки управляемого ОУ к управляющей службе.
- Набор прямых действий.
- Набор обратных действий.
- Менеджер (агент) который будет выполнять связанные с данным событием действия.
- Настройки, зависящие от конкретного типа события.
Действия и команды
Действие для
ais_name |
---|
$TERM_PHYS_ADDR
может быть заменена на значение 00-1A-B1-DF-24-A4
). При этом в ais_name |
---|
$TERM_OBJ_ADD_PARAM[add_param_id]
, где add_param_id
— идентификатор дополнительного параметра)....
Info | |
---|---|
Следует отметить, что деление команд на типы взаимодействия с точки зрения ядра
|
Менеджер активного оборудования HAMD (агент управления)
Менеджер HAMD
(Hydra Active Management Daemon) — это специализированное приложение, являющееся внешним по отношению к ядру АСР и предназначенное для приёма от него команд и их дальнейшего выполнения. Данный агент, как и другие агенты
ais_name |
---|
...
В приложении имеется пример скрипта по управлению доступом абонентов программным файрволом с помощью утилиты iptables
.
Задания
Задания приводят механизм управления СУ/ОУ в действие. Основная сущность, с которой работают задания — очередь событий.
...
На каждый менеджер создается одно задание
ais_name |
---|
Взаимодействие при управлении ОУ
Взаимодействие сущностей
ais_name |
---|
...
- Когда происходит событие, оно добавляется в очередь событий.
- События, накопившиеся в очереди, обрабатываются заданием и передаются на менеджер.
- Менеджер выполняет команды на оборудовании (файрвол, коммутатор).
Примеры типовых событий
При работе оператора связи возникают типовые задачи по управлению оборудованием и службами. Все нижеперечисленные задачи решаются с помощью событий:
- Задание и изменение привязки MAC-порт (IP-MAC-порт).
- Задание и изменение скорости доступа на шейпере (iptables, ipfw, Cisco...).
- Включение и отключение доступа абонента к услугам связи (управлением файрволом, разрыв PPP-сессий и т.д.).
- Включение и отключение абонентского порта при блокировке абонента.
- Перепривязка оконечного оборудования абонента к другому устройству (переезд).
- Уведомление абонента о поступлении платежа на его лицевой счет.
- Уведомление абонента о рекомендуемом платеже за несколько дней до предполагаемого отключения.
- Уведомление абонента о выставленном ему счете на оплату услуг.
Прямые и обратные действия
Обратные действия необходимы не всегда. Часто бывает достаточно задать только прямое действие. Например, если услуги абоненту оказываются по технологии PPPoE, то для события на отключение услуги необходимо задать действие, которое разрывает текущую PPP-сессию с помощью SNMP-команды или CoA-запроса по протоколу RADIUS. Ясно, что в этом случае задавать обратное действие бессмысленно, потому что однажды разорванная сессия уже не может быть восстановлена со стороны сервера.
...
Например, в случае, если на шейпере абонент идентифицируется по статическому IP-адресу его оборудования, и по какой-то причине у абонента изменился IP-адрес, необходимо задать обратное действие на событие При подключении услуги Интернет-трафик вх. В этом случае система, обнаружив, что значение подстановки $TERM_IP_ADDRESS
изменилось, автоматически выполнит отменяющее событие (удалит правило шейпера для старого IP-адреса), а затем снова выполнит прямое действие, но уже с новым значением IP-адреса.
Настройка событий в
ais_name |
---|
Предположим, что необходимо настроить события на включение и отключение услуги Доступ в Интернет, которые будут разрешать или ограничивать доступ абонента в Интернет на программном файрволе iptables
.
...
6. Выставьте абоненту инвойс по его оборудованию, если он не был ранее выставлен, и попробуйте изменить состояние услуги доступа на вкладке Услуги формы редактирования абонента. В нижней части экрана должно появиться сообщение По <оборудование абонента> произошло событие "При подключении услуги Доступ в интернет" для IPTABLES1. Если такое сообщение не появляется, нужно проверить настройки события и настройки привязки.
Anchor | ||||
---|---|---|---|---|
|
Восстановление текущего состояния
...
событий
Иногда возникает ситуация, когда оборудование, ограничивающее доступ абонента к услугам, перезагружается или выходит из строя, при этом появляется необходимость восстановить текущее состояние выполненных ранее событий. Это делается с помощью командной строки утилитой hamdctl
. Данная утилита не производит какой-либо выгрузки информации по текущему состоянию. При выполнении запроса текущего состояния, происходит повторное выполнение всех неархивных событий по указанному объекту и менеджеру активного оборудования (агенту HAMD).
...
Code Block |
---|
/opt/hydra/hamd/lib/hamdctl.py -u http://login:password@host:port request object-id:<object-id> |
Примечание: в новых версиях менеджера hamd (начиная с версии 1.1.2.1) вместо скрипта /opt/hydra/hamd/lib/hamdctl.py нужно использовать утилиту /opt/hydra/hamd/bin/hamdctl.
Здесь:
<object-id>
— это идентификатор сетевой службы
, по которой запрашивается текущее состояние событий. Если продолжить описанный выше пример, то такой службой будет программный файрвол IPTABLES1. Идентификатор этого файрвола можно получить на форме его редактирования.ais_name login
— логин для базовой авторизации наHAMD
.password
— пароль для базовой авторизации наHAMD
.host
— IP-адрес сетевого интерфейса, на котором работаетHAMD
.port
— порт, на котором работаетHAMD
.
...