Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
{graphviz}
digraph G {
  size="65,65"
  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}

...

  • Тип события.
  • Тип (позиция номенклатуры) управляемого ОУ.
  • Тип привязки управляемого ОУ к управляющей службе.
  • Набор прямых действий.
  • Набор обратных действий.
  • Менеджер (агент) который будет выполнять связанные с данным событием действия.
  • Настройки, зависящие от конкретного типа события.

Действия и команды

Wiki Markup
Действие
для
 для <ac:macro ac:name="ais_name
" /> представляет собой набор шаблонов команд в текстовом виде. Для использования в шаблонах предусмотрены специальные _подстановки_, которые при обработке команды агентом заменяются на конкретные значения атрибутов, идентификаторов и других параметров ОУ и СУ (например,
подстановок
 подстановка {{$TERM_PHYS_ADDR}} может быть
заменён
 заменена на значение {{00-1A-B1-DF-24-A4}}). При этом
в
 в <ac:macro ac:name="ais_name
" /> существует как жёстко запрограммированный набор подстановок, так и набор, задаваемый пользователем с помощью _параметризованных подстановок_. Например, дополнительные параметры ОУ могут представляться подстановкой ({{$TERM_OBJ_ADD_PARAM\[add_param_id\]}}, где {{add_param_id
— идентификатор дополнительного
}} --- идентификатор дополнительного параметра).

Действия при настройке события добавляются двумя группами — прямой и обратной. Для каждого действия может быть задано действие, ему противоположное. Это позволяет системе управления при необходимости с помощью обратного действия корректно отменять изменения, сделанные на оборудовании прямым действием.

...

Wiki Markup
{graphviz}
digraph G {
  size="87,87"
  graph [style=filled]
  node [style=filled, shape=box, color=black, fillcolor=white]
  rank=source

  subgraph cluster_0 {
    color=beige
    "Абонент" [shape=ellipse, fillcolor=lightpink]

   "Абонент"->{"Атрибуты абонента"; "Адреса"}[dir=none]
  }

  subgraph cluster_1 {
    color=lightblue
    rank=max
    "Оконечное оборудование" [shape=ellipse]
    "Оконечное оборудование"->{"Состав"; "Атрибуты оборудования"}
    "Состав" [shape=record, label="{Порт\ 1 | Порт\ 2 | ... | Порт\ N}"]
  }

  subgraph cluster_2 {
    color=darkseagreen2
    rank=min
    "Файрвол" [shape=ellipse]
    "Коммутатор" [shape=ellipse]
  }

  subgraph cluster_3 {
    color=mistyrose
    rank=min
    "Событие"->"Действия"->"Команды"
  }

  "Абонент"->"Оконечное оборудование"
  "Оконечное оборудование"->{"Коммутатор"; "Файрвол"}
  "Очередь событий" [shape=record, label="{Событие\ 1 | Событие\ 2 | ... | Событие\ N}"]
  "Событие"->{"МенеджерОчередь событий";
  "Файрвол";Очередь событий"Коммутатор"}->"Менеджер"[label="Задание"]
  "Менеджер"->{"Файрвол"; "Коммутатор"} [label="Команды"]
}
{graphviz}

Оконечное оборудование абонента привязано к управляющим устройствам Событие обрабатывается следующим образом:

  1. Когда происходит событие, оно добавляется в очередь событий.
  2. События, накопившиеся в очереди, обрабатываются заданием и передаются на менеджер.
  3. Менеджер выполняет команды на оборудовании (файрвол, коммутатор).

Примеры типовых событий

При работе оператора связи возникают типовые задачи по управлению оборудованием и службами. Все нижеперечисленные задачи решаются с помощью событий:

  1. Задание и изменение привязки MAC-порт (IP-MAC-порт).
  2. Задание и изменение скорости доступа на шейпере (iptables, ipfw, Cisco...).
  3. Включение и отключение доступа абонента к услугам связи (управлением файрволом, разрыв PPP-сессий и т.д.).
  4. Включение и отключение абонентского порта при блокировке абонента.
  5. Перепривязка оконечного оборудования абонента к другому устройству (переезд).
  6. Уведомление абонента о поступлении платежа на его лицевой счет.
  7. Уведомление абонента о рекомендуемом платеже за несколько дней до предполагаемого отключения.
  8. Уведомление абонента о выставленном ему счете на оплату услуг.

Прямые и обратные действия

Обратные действия необходимы не всегда. Часто бывает достаточно задать только прямое действие. Например, если услуги абоненту оказываются по технологии PPPoE, то для события на отключение услуги необходимо задать действие, которое разрывает текущиую PPP-сессию с помощью SNMP-команды или CoA-запроса по протоколу RADIUS. Ясно, что в этом случае задавать обратное действие бессмысленно, потому что однажды разорванная сессия уже не может быть восстановлена со стороны сервера.

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

Например, в случае, если на шейпере абонент идентифицируется по статическому IP-адресу его оборудования, и по какой-то причине у абонента изменился IP-адрес, необходимо задать обратное действие на событие При подключении услуги Интернет-трафик вх. В этом случае система, обнаружив, что значение подстановки $TERM_IP_ADDRESS изменилось, автоматически выполнит отменяющее событие (удалит правило шейпера для старого IP-адреса), а затем снова выполнит прямое действие с новым значением IP-адреса.

Настройка событий в
ais_name

Предположим, что необходимо настроить события на включение и отключение услуги Доступ в Интернет, которые будут разрешать или ограничивать доступ абонента в Интернет на программном файрволе iptables.

1. В настройках событий (Справочники->События) на вкладке Типы объектов найдите позицию номенклатуры, по которой будет происходить событие. В данном случае такой позицией будет (все сетевые службы)>Системная служба>Программный файрвол.

Image Added

2. В настройках действий для программного файрвола (вкладка Действия) создайте новое действие Разрешить доступ в интернет и настройте его как показано на рисунке ниже. Настройка Тип взаимодействия задает протокол, по которому будут выполняться команды, входящие в данное действие.

Image Added

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

Подстановка $TERM_IP_ADDR в теле команды при ее выполнении менеджером будет заменено на IP-адрес оконечного оборудования абонента, по которому произошло событие.

Аналогичным образом создается действие Запретить доступ в интернет, оно отличается от разрешающего действия только содержимым команды.

3. Вернитесь на вкладку События и создайте новое событие как показано на рисунке ниже.

Image Added

Тип привязки объекта позволяет выбрать тип привязки, с помощью которой абонентское оборудование связано с файрволом. Это полезно в случае, когда на одном и том же абонентском оборудовании задано несколько типов событий, которые обрабатывается разными сетевыми службами. Например, доступ и пропускная способность канала могут регулироваться на одной и той же сетевой службе — файрволе. Указание разных типов привязки позволяет обрабатывать эти события отдельно, несмотря на то, что они происходят на одной сетевой службе.

4. Привяжите действия Разрешить доступ в интернет и Запретить доступ в интернет к созданному в п. 3 событию. Результат показан на иллюстрации к п. 1. Подробнее о прямых и обратных действиях рассказано ниже.

Настройка событий завершена, осталось настроить только абонентское оборудование.

5. На форме редактирования тестового абонента откройте его оборудование и перейдите на вкладку Привязки. Привяжите это оборудование к сетевой службе, для которой задано событие (на рисунке ниже это служба IPTABLES1, имеющая тип Программный файрвол). В поле Тип привязки нужно указать именно тот тип, который задан в настройках события, в противном случае событие не сработает.

Image Added

6. Выставьте абоненту инвойс по его оборудованию, если он не был ранее выставлен, и попробуйте изменить состояние услуги доступа на вкладке Услуги формы редактирования абонента. В нижней части экрана должно появиться сообщение По <оборудование абонента> произошло событие "При подключении услуги Доступ в интернет" для IPTABLES1. Если такое сообщение не появляется, нужно проверить настройки события и настройки привязки.