Open ChrissoChrisso opened 1 year ago
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: I would use them for presence detection, grouping all ips (pc, mobile, …) used by family members: if at least one is active that member is at home.
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 ?" ( so, you can choose an alert before all is down / and this condition can be "all" to do an OR, or "1" to do a AND )
No feedbacks by the mantainers about this request topic? @louislam
Related #1089 https://github.com/louislam/uptime-kuma/issues/2487
⚠️ Please verify that this feature request has NOT been suggested before.
🏷️ 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 https://github.com/louislam/uptime-kuma/issues/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.