So I have the task of creating alerts to email different teams based on which node has an active issue.
Here is the rough idea of the group structure:
- Team A
- Team B
- Group BA
- Node BAAA
- Node BAAB
- Node BAAC
- Team C
- Group CA
- Group CB
- Node CBBA
- Node CBBB
- Node CBBC
- Group CC
I wanted to initially make an alert that would alert if a group goes down or goes into a warning state and email a certain team that alert; however, in my testing I could not get the group to change state when a single node was having a minor issue as the group status would not change but the Node status would.
This led me to a different way of solving this issue; I created a group variable named something like "emailTo" which I used in the "To" field in an email alert. emailTo could have a value like "GroupA@company.com". This worked like a charm but only worked if the ENTIRE group went down. Right now I could add this variable value to every single node that is being monitored and send an email to that variable value, but that would be difficult to maintain if we planned on adding nodes.
I then thought,
"Hey, what if I could pull variables from the parent group?"
So I am working on creating an alert that checks for each node status to see if it's down or in warning, and I want to have that alert send an email to something like ParentGroup.emailTo or ${N=parentGroup;M=emailTo} but I haven't been able to pull any data like this from the parent group, only the current object itself. I see that I can define a SQL query manually which may be able to solve this, but I also struggled with this. If I could get this running it would minimize our total amount of alerts and would ensure that each and every node is being monitored and the appropriate person is getting the messages emailed to them.
Thank you for your help,
Rainger