NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: Dmitry on March 20, 2008, 10:11:54 AM

Title: Возможно ли каскадирование серверов?
Post by: Dmitry on March 20, 2008, 10:11:54 AM
Коллеги, привет!

Допустим, есть у меня энное количество филиалов. В каждом филиале есть специальный человек, который следит за состоянием ИТ-инфраструктуры. У него есть сервер NetXMS.
В головном филиале также есть сервер NetXMS и специально обученный человек, который отвечает за состояние всех филиалов. Ему также необходимо получать мониторинговую информацию с филиальной инфраструктуры.

Внимание вопрос!
Могу ли я (и если да - каким образом) настроить каскадный сбор данных с отслеживаемых устройств? То бишь, желание: сбрасывать с одного устройства информацию на два сервера. Ну, или сбрасывать с агента информацию на ближайший сервер, который бы сохранял эту информацию у себя И форвардил её вышестоящему серверу.

С уважением,
Дмитрий
Title: Re: Возможно ли каскадирование серверов?
Post by: Alex on March 20, 2008, 12:18:56 PM
+1
тоже интересуюсь как это лучше сделать.
У меня ситуация по проще. Стоит два сервака с NetXMS (у каждого своя база). Один сервер стоит в России, второй зарубежом. Оба опрашивают одни и теже железки. Как сделать так, чтоб почтовые уведомления приходили только в том случае, если оба сервера говорят что тот или иной NODE в дауне, в противном случае если один из серверов говорит что все ОК, то не нужно присылать писем.
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on March 20, 2008, 07:47:26 PM
Мысли на тему распределенного мониторинга у нас были, но готовой имплементации на данный момент нет. Простая вещь, с которой можно начать - это event forwarding. Реализовать это не очень сложно, и во многих случаях этого будет достаточно. Доделаю 0.2.20 и можно будет заняться.

Best regards,
Victor
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on March 20, 2008, 07:51:40 PM
Quote from: Dmitry on March 20, 2008, 10:11:54 AM
Могу ли я (и если да - каким образом) настроить каскадный сбор данных с отслеживаемых устройств? То бишь, желание: сбрасывать с одного устройства информацию на два сервера. Ну, или сбрасывать с агента информацию на ближайший сервер, который бы сохранял эту информацию у себя И форвардил её вышестоящему серверу.

А обязательно иметь именно форвардинг собранных данных с первого сервера на второй? Можно ведь просто настроить на втором сервере сбор данных с тех-же хостов что и на первом. А если хосты недоступны напрямую, то использовать агента на первом сервере как прокси для второго. Кстати, только что пришла в голову мысль - первым шагом можно сделать синхронизацию шаблонов между серверами - это облегчит настройку  сбора одинаковых данных несколькими серверами.

Best regards,
Victor
Title: Re: Возможно ли каскадирование серверов?
Post by: Alex on March 20, 2008, 08:03:43 PM
И синхронизацию опрашиваемых нодов со списком интерфейсов, т.е. полный конфиг ноды :)
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on March 20, 2008, 08:20:57 PM
Что в принципе и означает полноценный распределенный мониторинг :) Надо двигаться в этом направлении. Вопросов там много на самом деле - например контроль доступа к объектам. Или направление синхронизации - т.е. кто главный. Или что делать если связь с серверами пропала, потом восстановилась, и какой-то объект изменен и там и там. И так далее... Может стоит открыть отдельную ветку на эту тему в feature requests, и набирать мысли - к моменту реализации лучше будем представлять что должно получиться?

Best regards,
Victor
Title: Re: Возможно ли каскадирование серверов?
Post by: Alex on March 20, 2008, 09:07:30 PM
Думаю это хорошая идея.
Title: Re: Возможно ли каскадирование серверов?
Post by: Dmitry on March 22, 2008, 09:45:44 AM
Меня бы вполне устроило снятие информации с агентов двумя серверами. Это возможно? Насколько я понял, в конфиге агента прописывается единственный сервер NetXMS. Скажите уже мне, что я не прав :)
Title: Re: Возможно ли каскадирование серверов?
Post by: Alex on March 22, 2008, 12:36:41 PM
А у меня задача не много другая..
Хочу два сервера, которые работают в паралеле. На обоих серверах стоят агенты и базы данных. Оба снимают информацию с одних и тех же нодов. Оба должны постоянно синхронизировать данные между собой. Плюс кореляция алармов и event-ов на обоих серверах. Делается этот на тот случай, если один из серверов умрет по какой либо причине, чтобы хотя бы на одном из серверов осталась живая база.

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

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

Если я что-то неучел, прошу дополнить. Если что-то не понятно, задавайте вопросы, попробую ответить.
Title: Re: Возможно ли каскадирование серверов?
Post by: Alex Kirhenshtein on March 22, 2008, 02:29:34 PM
Quote from: Dmitry on March 22, 2008, 09:45:44 AM
Меня бы вполне устроило снятие информации с агентов двумя серверами. Это возможно? Насколько я понял, в конфиге агента прописывается единственный сервер NetXMS. Скажите уже мне, что я не прав :)

Да, это возможно — в конфиге можно прописать несколько адресов через запятую.
Мало того, один сервер может быть прописан в "Servers", что подзволяет ему только собирать данные, а второй — в ControlServers или MasterServers, что позволит ему еще и редактировать удаленно конфиг / апгрейдить агента.
Title: Re: Возможно ли каскадирование серверов?
Post by: isherim on November 26, 2008, 04:11:09 PM
Quote from: Victor Kirhenshtein on March 20, 2008, 07:47:26 PM
Простая вещь, с которой можно начать - это event forwarding. Реализовать это не очень сложно, и во многих случаях этого будет достаточно. Доделаю 0.2.20 и можно будет заняться.
Не было ли в эту сторону движений? Мне аккурат подошла бы схема с первичным сервером/серверами(опрашивающими только свою зону) и отправкой эвентов с него на головной.
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on December 02, 2008, 02:53:34 PM
Sdelal event forwarding v 0.2.23. Tam esche mnogo chto nado budet uluchshat', no uze mozno nachinat' pol'zovatsja.
Title: Re: Возможно ли каскадирование серверов?
Post by: isherim on December 12, 2008, 05:33:49 AM
Хелпик по использованию event forwarding будет небольшой?
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on December 12, 2008, 10:54:09 AM
Quote from: isherim on December 12, 2008, 05:33:49 AM
Хелпик по использованию event forwarding будет небольшой?

Конечно :)

Во-первых, оба сервера должны знать хосты, для которых пересылаются события. Принимающий сервер определяет, к какому хосту относится события, по IP адресу. При этом на принимающем сервере объект хоста может быть UNMANAGED, если его не требуется активно мониторить, а только принимать события.

На отсылающем сервере:
1. Создать новый action типа "Forward event to other NetXMS server", в поле "Remote NetXMS server" вписать адрес принимающего сервера;
2. В event processing policy для нужных событий добавить этот action.

На принимающем сервере:
1. Выставить параметры EnableISCListener и ReceiveForwardedEvents в 1;
2. рестартовать сервер;
3. Убедится, что есть события с такими-же именами, как будут отсылаться;
4. Убедится, что отсылающий сервер может подключится к принимающему по порту 4702.

Вроде все :)
Title: Re: Возможно ли каскадирование серверов?
Post by: isherim on December 15, 2008, 05:32:48 AM
Спасибо!
Title: Re: Возможно ли каскадирование серверов?
Post by: Nickuz on May 07, 2009, 08:36:25 AM
Quote from: Victor Kirhenshtein on December 12, 2008, 10:54:09 AM
При этом на принимающем сервере объект хоста может быть UNMANAGED, если его не требуется активно мониторить, а только принимать события.
В таком случае на принимающем сервере не получаем алармов. Версия 0,2,26.
Title: Re: Возможно ли каскадирование серверов?
Post by: Victor Kirhenshtein on May 07, 2009, 10:17:46 AM
Da, moja oshibka. Unmanaged voobschem-to i dumalos' kak priznak togo, chto sostojanie hosta nas ne interesuet, poetomu vse sobitija dlja nego ne prohodjat cherez event policy. Nado budet sdelat' atribut "external node" - togda vse budet logichno - esli noda pomechena kak external, to server ee ne monitorit, no prinimaet sobitija i processit ih kak nado. Nu i ee toze mozno delat' unmanaged, chto vikljuchaet priem sobitij do teh por, poka ne vernit v sostojanie managed.
Title: Re: Возможно ли каскадирование серверов?
Post by: Nickuz on May 20, 2009, 06:32:22 AM
Извиняюсь, ошибка была все-таки моей. На принимающем сервере в Event Policy интересующих нод не было в Source`ах, теперь все работает.