Configure a "failover" server

Started by jeanb.lott, September 12, 2012, 10:11:46 AM

Previous topic - Next topic

jeanb.lott

Hi,

I'm wondering if there is a functionality to configure a "failover" server in case the main NetXMS server goes down?

To explain a bit more what I want to do here's the setup. I have 2 server rooms with one NetXMS server in each of the rooms for redundancy purposes. They are working fine independantly and I usually copy the DB over when I do a change one of them. I have now to commission a SMS notification for the system. With my setup I get twice the notifications because both my servers are configured the same way.

From what I understand the way to get the notifications from only one server is not to change the configuration of my server 1. Create a situation on my server 2 that changes with the status of NetXMS Core service on server 1. Then I have to add a check on this situation in the filtering rule of all my events processing on server 2. That way I receive notifications from server 2 only when the NetXMS Core service on server 1 is not running. Is that the best way to do or is there a better way? My concern here is that if I do modifications on one server, it's going to be more complex to copy over the db as I'll need to add or remove the filtering rules.

Thanks a lot,

lindeamon

hi,

did you think about running netxms in a cluster ?
i do not know how your network is configured but it seems to me that both servers are monitoring the same network and cluster is the 1st solution for this type of redundancy.

Kind Regrads,
Lindeamon

jeanb.lott

Hi,

Thanks for your input.

Unfortunately the NetXMS servers are running Win7 so I don't think clustering is a possibility. And yes you're right the two servers are monitoring the same network.


Victor Kirhenshtein

Hi!

So far it seems that achieve required functionality without having different configurations on servers is impossible. Main problem is that scripts cannot determine if given node is local management server they are running on or not. I can add additional NXSL function in next release to check if given node is local server. Then it will be possible to write filtering script which will ignore all events on server 2 if server 1 is running.

Best regards,
Victor

jeanb.lott

Hi,

So basically with this new functionality I would have to do something like this right?


if (isLocalMgt(server1))                           //processing by server1
   return true; //process event
else
   if (!NetXMSServiceRunning(server1))             //processing by server 2
      return true; //process event
   else                                            //server 2 doesn't need to process the event.
      return false; //don't process event

Victor Kirhenshtein


jeanb.lott

All right,

Thanks for the help, let me know when this is done.

:)