No error when 1 of 2 ETHs goes down

Hi all!

I already did a search on this one but didn’t find anything although I think that this was to be a simple question.

Dude 3.6 is monitoring a Windows machine (let’s call it serverA) that has two interfaces with two different IP addresses. I added both of the addresses to the device in the Dude and disabled the DNS resolution so the second address, that is not listed in our DNS servers, is not thrown away after the DNS query returns just the first address.

Now, here’s my question: With both addresses entered, serverA is shown green/up in the Dude. Now I disable one of the interfaces on serverA. This doesn’t make it unreachable due to the second interface but i expected some kind of error popping up informing me about one interface having gone down. But nothing happend. Everything stays fine and green and even a reprobe doesn’t change anything about that :frowning: Does anybody know a way how to tell the Dude that already one failing interface in a monitored machine is a bad thing to happen?

Thank you very much!
Ulli | Hamburg | Germany

I don’t have this situation but maybe you could hard code a ping to each interface so you can track them separately.

AFAIK Dude uses only the first device address for monitoring and ignores all others. At least it’s what I see everywhere I use it. If any other than first address dies, Dude does not notice. If the first one dies, for Dude the whole device is dead, even when all it’s other addresses are reachable.

Sob, you are right! I just checked that by changing the order of the IP addresses in the device settings in the Dude: If the first address is unreachable, the whole device is reported as down although the second address ist still answering pings from the Dude’s tools menu.

Is there a way to change this behaviour so that every interface is treated and monitored individually without having to create a poll/function for every single one?

Hi all,

I wish this request/feature will be taken into consideration..
Since we use lots of devices with several IP-addresses on it (listening deamons for Oracle DB’s) it could/would be incredibly convenient if this request would be implemented in the next version of Dude (running 3.6 here, so no luck yet..)

Regards,
Minollie

I had solution for a such probe.
All you have to do is to use functions to get second IP address and to ping it.
Look at the picture
picture1.JPG
the device label is

[Device.Name]
IP_Coma_List: [Device.AddressesCommaList]
Second_Addres Begins at pos:[Second_IP_Beg()]
Second_Addres Ends at pos:[Second_IP_End()]
The Second device IP is:[Second_IP()]
Round Trip Time for second IP is = [Ping_Second_IP()]
[device_performance()][Device.ServicesDown]

The function definitions are

<?xml version="1.0" ?> **** 57 213951 **Second_IP_Beg** if(string_find(device_property("AddressesCommaList"),",") <> 4294967295 ,string_find(device_property("AddressesCommaList"),","),-1) *** Find the begin ofset of second IP addres <?xml version="1.0" ?> **** 57 213988 **Second_IP_End** if(string_find(device_property("AddressesCommaList"),",",Second_IP_Beg()+1) <> 4294967295 ,string_find(device_property("AddressesCommaList"),",",Second_IP_Beg()+1),string_size(device_property("AddressesCommaList"))) *** Find the end of second IP addres <?xml version="1.0" ?> **** 57 214023 **Second_IP** if(Second_IP_Beg() <> -1,string_substring(device_property("AddressesCommaList"),Second_IP_Beg()+1,Second_IP_End()-Second_IP_Beg()+1),"Not_Present") **** Second IP as string representation <?xml version="1.0" ?> **** 57 214103 **Ping_Second_IP** if(Second_IP() <> "Not_Present",array_element(ping(Second_IP()),0),"Second_IP_Not_Defined") **** Ping second IP Address

and the probe is

<?xml version="1.0" ?> **** 13 214181 **Ping_For_Second_IP** 8 Second_IP() <> "Not_Present" if(Ping_Second_IP() ="Second_IP_Not_Defined","Not Defined second IP address",if(Ping_Second_IP() = -1,"Ping timed out","")) Ping_Second_IP() ms

And finaly the history picture
picture2.JPG
All you need is to read functions definitions and you will be able to do a lot of things with dude.
So, do not be afraid :slight_smile:
I’v spent about 40 minutes doing this task, but it is done :slight_smile:

Update
Uuuppps. The probe should be made better for more information on SMS :slight_smile:

<?xml version="1.0" ?> **** 13 214181 **Ping_For_Second_IP** 8 Second_IP() <> "Not_Present" if(Ping_Second_IP() ="Second_IP_Not_Defined","Not Defined second IP address",if(Ping_Second_IP() = -1,**concatenate("Ping for IP ",Second_IP()," timed out")**,"")) Ping_Second_IP() ms ![picture3.JPG|711x449](upload://ndJcA67gIcCD9tpA1ZImBjjopDa.jpeg)

Must say, for sure we miss:

  1. passing params to functions
  2. split() function - it will be easy to make such a probe as above.
  3. foreach(array_element in array) function