-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[groups] Boolean OR operand to get notification for total failure of redundant systems #3387
Comments
I would also like this, I have a group which used to be separate ungrouped monitors which check if the internet is accessible with an HTTP request to popular sites. This in general works OK, but occasionally I get a false alarm because facebook or google will have a transient issue which erroneously pings me. I would prefer to be able to set up all my checks in an OR group so that only if ALL of the internet checks fail then it considers the group down. That way I will only get a notification if google, amazon, facebook, apple are all simultaneously down which would indicate my internet is actually out (of course this would need to be combined with a LAN-only notifier or used in conjunction with a failover wan for notifications, an exercise for the reader). Another potential use case is for a cluster of redundant nodes that are load balanced, using an OR group would allow receiving a down status / notification only if all the nodes are down - which might be desired if someone wants to be able to reboot individual nodes without triggering a notification. |
One more use case for "or"ed groups: |
Another for the "or" logic. We have several machines we monitor that have two or more IPs they could be using depending on the network or VPN they're connecting to. So long as at least one of the IPs are working they're good, but if all of the IPs are down then we want to know. |
In addition, I think it can be interessting to improve the current "group" monitor type (and not creating a new one) by adding some condition like : "how many hosts down to trigger ?" |
No feedbacks by the mantainers about this request topic? |
🏷️ Feature Request Type
New Monitor
🔖 Feature description
This feature would allow notification of total failure of redundant systems.
Many networking protocols (eg. NTP, DNS, RADIUS, TACACS+, SNMP, etc...) allow for use of multiple redundant server IP addresses with a goal of offering resiliency. A use case for this new feature would be to Group monitor all redundant IP addresses for a given protocol or system, and be notified in case of simultaneous failure of all redundant servers in that Group.
For example, a Primary NTP server IP address and a Secondary NTP server IP address could be added to a Group, which notifies Down only while both the primary and secondary IPs are simultaneously down to inform that NTP service is totally down.
Currently in version 1.22.1 the Group functionality monitors Group members using the AND operand, meaning if Group members (a) AND (b) AND (c) are up, the Group reports as UP. If one of the redundant IPs are down, the Group undesirably reports as down, even thought the service overall still works because of the redundant IPs that are still up...
This feature request is to allow Groups to be monitored using the OR operand, meaning if Group members (a) OR (b) OR (c) are up, the Group reports as UP. If Uptime-Kuma followed the OR operand rather than the AND operand while group monitoring, it would enable notifications for total failure of redundant systems.
Initially I raised this as a configuration help question, and it was suggested to add as a feature request #3382
Many thanks for this awesome software. If any questions, or ideas please ask.
✔️ Solution
An implementation idea that maybe would be easy? is to split the single "Group" option here:
into 2 options: "Group (using Boolean AND)" and "Group (using Boolean OR)".
"Group (using Boolean AND)" would match the current functionality which appears to follow the AND operator.
"Group (using Boolean OR)" would match the desired functionality of using the OR operator.
Again, many thanks for your help, and I really appreciate this cool software.
❓ Alternatives
To my knowledge, work-arounds to achieve this do not exist.
📝 Additional Context
If any questions, please ask. I really appreciate this software.
The text was updated successfully, but these errors were encountered: