cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 10

Alert only on nodes that a member of a specific group

Hi,

i want to alert on a node but only if its member of specific group.

I figured out that its not possible to filter on a group membership on a node alert.

In this post Trigger for each group member in a group? is recommend to set an custom property for these nodes, because you can filter custom properties on node alerts. But in my eyes its not more than a bad workaround, because custom properties on a node and a group membership of a node are very different ...

In our environment most nodes are member of more than one group, so I had to create a custom property for each group and set there a TRUE or FALSE for the membership or create a custom property where I set all groups e.g. comma-seperated as string ..

So therefore I tried to fix this problem with a SWQL-Query on the trigger condition:

SELECT cms.EntityID
FROM Orion.ContainerMemberSnapshots cms
JOIN Orion.Container c ON cms.ContainerID = c.ContainerID
WHERE C.Name = 'YOURGROUPNAME'

Example Output:

pastedImage_4.png

So these are the NodeID on which i want to limit this alert.

Then i created an alert with this query:

As field I used 'Use value/macro' then insert Variable and select your SWQL-Query at the bottom of the popup. Then I selected contains '${N=SwisEntity;M=NodeID}'

pastedImage_6.png

But this does not work.

The problem could be that the query returns more than one value or the condition can not be set like this or its just a logical mistake from me.

Do you have any other ideas to get this run.

Many Greetings

Dominik

0 Kudos
13 Replies
Level 12

you can limit the scope to those group member and can create a node status down alert.

0 Kudos

And how do you do that?

Its not possible to filter on groupmembership at 'scope of alert'

0 Kudos

HI, try this:

pastedImage_0.png

0 Kudos

Ok I tried that, looks fine too, but you're limiting yourself with that because you're not able to use all properties of the nodes.

Hope you can you get me.

I think I´m not the only one how want to use this.

Maybe a feature request is the best way to fix this problem, but I think this will take a long time to implement.

0 Kudos

the node properties can be defined in the group itself by setting up a dynamic query you are able to determine what populates the groups based on the node properties, for example:

pastedImage_0.png

0 Kudos

Hmm okay I understand.

To note a result of this discussion, its not possible to limit by group membership how I want to
It could be so easy and I cant understand why this isnt implemented already ..

@I LIKE EGGS Thank you for your ideas




problem here is. Its just using 'Status' a reason this might not be the most desirable solution, is if you have anything other then 'Status' something like routing neighbour , CPU, memory,volumes etc then this doesn't directly change the status.  this might be different with the new roll up mode of node status in NPM 12.5, but i couldn't tell you for sure.. i would opt for the SWQL route if you need to tie in alerts to group members.that dont change 'status'

0 Kudos
Level 13

HI, what type of alerts do you wanting to trigger based on group membership?

0 Kudos

What do you mean?
I want to alert on Nodes

I just search for an opportunity to filter for group membership

0 Kudos

ok,i was trying to workout what alert you were trying to build. with the below i have based it on if you wanted a node status and interfaces status alert.

here is a swql query to alert on Nodes Down within a group called 'testing th'

SELECT Nodes.Uri, Nodes.DisplayName FROM Orion.Nodes AS Nodes

INNER JOIN Orion.ContainerMemberSnapshots cms ON CMS.EntityID = nodes.NodeID

INNER JOIN Orion.Container c ON cms.ContainerID = c.ContainerID AND C.Name = 'testing th'

WHERE NODES.STATUS = 2

pastedImage_2.png

the same for interface down alert based on group membership 'Interface test'

SELECT Interfaces.Uri, Interfaces.DisplayName

FROM Orion.NPM.Interfaces AS Interfaces

INNER JOIN Orion.ContainerMemberSnapshots cms ON CMS.EntityID = interfaces.interfaceid AND cms.EntityType = 'Orion.NPM.Interfaces'

INNER JOIN Orion.Container c ON cms.ContainerID = c.ContainerID AND C.Name = 'Interface test'

WHERE Interfaces.status = 2

pastedImage_4.png

0 Kudos

First thank you for testing and working out.

I see thats a way to configure that.

For me that works fine but we have a lot of users which can create alert for their nodes by themself.

So these users dont know how the database looks like, so its very hard to configure the trigger via SWQL-Query.

For a perfect solution it would be nice if its possibile to limit by group and still use this web interface to set the trigger.

pastedImage_0.png

I think thats actually not possible so solarwinds would have to work on that.

0 Kudos

Hmm found maybe a new opportunity

Using complex conditions:

At the first section filter Nodes by their groupmembership like you did via SWQL. So we could create an template for our users, where they only adjust the groupname.

At the second section use the normal trigger condition window.

Just an idea, I have to test this

pastedImage_0.png

0 Kudos

wouldnt be the first time iv herd 'I want to alert on Nodes'

0 Kudos