Зависимости

Started by smartkz, July 30, 2014, 02:01:12 PM

Previous topic - Next topic

smartkz

Здравствуйте.
В продукте существует понятие "зависимости" ... как это работает?

К примеру маршрутизатор центральный в него включается два коммутатора - отсюда следует если падает Маршрутизатор то автоматически падают и два коммутатора... И мне необходимо послать сообщение на емаил только о том что упал маршрутизатор (желательно что бы в этом же письме был список зависимых устройств которые также "прицепом" упали ). Сейчас шлются по каждому устройству, и если большое количество оборудования то соответственно очень много писем приходит.

Можно ли такое реализовать?

ArtKZ

"Зависимости" реализован на базе вложенных контейнеров вашей инфраструктуры. Тревоги могут передаваться от нижестоящих узлов или контейнеров к вышестоящим. Ну и (относительно) красивая картинка может быть нарисована, которая покажет "кто под кем". А интересующий вас сценарий реализуется с помощью функционала "Ситуации",но там надо ручками поработать...

smartkz

Подскажите как ручками зависимости настроить?

ArtKZ


smartkz

Quote from: ArtKZ on July 30, 2014, 02:57:29 PM
Для начала ознакомиться вот с этим https://www.netxms.org/documentation/adminguide/event-processing.html#situations

А вот если человек не программист... и все эти скрипты и все что в этом роде - печалька.... как быть?

ArtKZ

#5
Эээ... боюсь, что получить заветное совсем не программисту от этой системы будет сложновато. Может быть есть смысл присмотреться к более простой системе? Я до NetXMS пользовался The Dude (http://www.mikrotik.com/thedude.php). NetXMS, конечно, более продвинутая, но и как обратная сторона медали - более сложная в настройке, а в Dude все plug&play, drug&drop и прочие "вредно&вкусно" :)

smartkz

Quote from: ArtKZ on July 30, 2014, 03:17:56 PM
Эээ... боюсь, что получить заветное совсем не программисту от этой системы будет сложновато. Может быть есть смысл присмотреться к более простой системе? Я до NetXMS пользовался The Dude (http://www.mikrotik.com/thedude.php). NetXMS, конечно, более продвинутая, но и как обратная сторона медали - более сложная в настройке, а в Dude все plug&play, drug&drop и прочие "вредно&вкусно" :)
Я и работал с Dude раньше  и все устраивало... пока её не убрали.

ArtKZ

Вы прямо слово в слово повторили слова моего сотрудника, после того, как я снес Dude вместе с операционной системой, на которой она стояла :))))

smartkz

Quote from: ArtKZ on July 30, 2014, 03:43:13 PM
Вы прямо слово в слово повторили слова моего сотрудника, после того, как я снес Dude вместе с операционной системой, на которой она стояла :))))

Ждем с вашим сотрудником подробной консультации с картинками :)

ArtKZ

Собственно порядок настройки на русском языке описан здесь https://www.netxms.org/forum/oe-oo/otaka-kto-event-processing-policy/msg5597/#msg5597, разве что без картинок... и, кстати, я при настройке столкнулся с той же проблемой, что и автор топика, поэтому пока что этот функционал отложил в сторону

smartkz

Давайте с нуля начнем.. есть объекты А и B  - как B поставить в зависимость A ?

ArtKZ

Quoteкак B поставить в зависимость A ?

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

1. В менеджере ситуаций создать Ситуацию с именем (к примеру) NodeStatus
2. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла А, выставляет атрибут "status" в "down" для instance А.
3. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_UP от узла А, выставляет атрибут "status" в "up" для instance А.
4. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла В, выполняет скрипт

s = FindSituation("NodeStatus", "A");
if (s != NULL)
{
if (s->status == "down")
return false; // Don't match rule
}
return true; // Match rule


5. Выставить в опциях "Stop processing"


smartkz

Quote from: ArtKZ on July 30, 2014, 06:05:36 PM
Quoteкак B поставить в зависимость A ?

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

1. В менеджере ситуаций создать Ситуацию с именем (к примеру) NodeStatus
2. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла А, выставляет атрибут "status" в "down" для instance А.
3. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_UP от узла А, выставляет атрибут "status" в "up" для instance А.
4. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла В, выполняет скрипт

s = FindSituation("NodeStatus", "A");
if (s != NULL)
{
if (s->status == "down")
return false; // Don't match rule
}
return true; // Match rule


5. Выставить в опциях "Stop processing"

Вот тут нужно создавать событие ??

ArtKZ

#13
Да, именно здесь.

Вот мой аналогичный пример (работоспособность не проверял!):
Есть сервер fjpw2.ic.kz, на котором живут 2 виртуальные системы - bacula.ic.kz и e164.ic.kz. Мы хотим, чтобы при падении сервера fjpw2.ic.kz, тревоги от bacula.ic.kz и e164.ic.kz не приходили.

Quote1. В менеджере ситуаций создать Ситуацию с именем NodeStatus


Quote2. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла fjpw2.ic.kz, выставляет атрибут "status" в "down" для instance fjpw2.ic.kz.

Это правило мы назовем "Show alarm when node is down for Parent node"

Quote3. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_UP от узла fjpw2.ic.kz, выставляет атрибут "status" в "up" для instance fjpw2.ic.kz.

Это правило мы назовем "Terminate node down alarms when node is up for Parent node"


Quote4. В Менеджере политик обработки событий создать правило, которое, при получении SYS_NODE_DOWN от узла bacula.ic.kz и e164.ic.kz, выполняет скрипт

Это правило мы назовем "Show alarm when node is down for Child node"

5. Аналогичные правила создаем для SYS_NODE_UP (не уверен, что это надо)

6. Создаваемые правила должны располагаться выше, чем стандартные "Show alarm when node is down" и "Terminate node down alarms when node is up"

smartkz

У меня заработало именно так! всего два правила.

Приходит почта что упал DGS и все - когда подымается приходит почта что DGS поднят и все.

Но теперь хочется чтобы в почте о падении перечислялись устройства которые прицепом падают.

И еще один косяк если падает только MT то почта не приходит...  думаем.