This *should* work. Create a new Alert. In the Trigger condition, choose 'Custom SQL Alert' for the first drop down, and for the second drop down choose 'Node'. The first portion of the SQL is auto-filled. Paste the following (or equivalent) to the bottom half
, (SELECT Nodes.City FROM Nodes WHERE DeviceType='Router' AND Nodes.Status='1') AS Nodes2
WHERE
(
(Nodes.Status = '2') AND (Nodes.City = Nodes2.City)
)
so, it should look like below
I have added 2 node custom properties here
- City for the location of the node
- DeviceType which has drop-down options like Switch, Router, Server etc
The inner query generates a list of Cities where the Router status is Up, and the JOIN statement looks for all nodes in these cities where the status is Down. If you want to use different custom properties like StoreName or something like that, simply substitute Nodes.City with Nodes.StoreName.
You will need to modify the trigger condition in the default node down alert as
NodeStatus is equal to Down
DeviceType is equal to Router
so that you get alerted when routers go down.
There may be other ways of doing this but this should be easy enough without having to create several groups and dependencies.