louislam / uptime-kuma

A fancy self-hosted monitoring tool
https://uptime.kuma.pet
MIT License
52.21k stars 4.7k forks source link

Support Ping from multiple origins/ISPs/IP-addresses #4795

Open marchelzi opened 1 month ago

marchelzi commented 1 month ago

πŸ“‘ I have found these related issues/pull requests

no related feature request

🏷️ Feature Request Type

Change to existing monitor

πŸ”– Feature description

This feature request proposes adding support for pinging from multiple IP addresses within a single application. This enhancement is necessary for effective monitoring across different Internet Service Providers (ISPs) using various source addresses. By implementing this feature, users will be able to perform network diagnostics and ensure connectivity from multiple sources, improving the reliability and comprehensiveness of network monitoring.

βœ”οΈ Solution

I have implemented this feature in my fork of the Uptime Kuma repository, which can be found at https://github.com/marchelzi/uptime-kuma/tree/feat--multiple-interface-support. This enhancement allows users to enter custom source IP addresses for ping operations. If no source address is entered, the application defaults to using the primary IP address. This functionality enables monitoring from different ISPs within a single application, with results displayed separately for each source address. If there is interest, I am available to submit a pull request to merge this feature into the main repository.

❓ Alternatives

No response

πŸ“ Additional Context

No response

CommanderStorm commented 1 month ago

I think for this feature something like ripe atlas (i.e. probes which are properly distributed around the globe) is a better choice than adding another parameter (creating more of a parameter dump) to configure FROM which we are pinging.

Ripe atlas is tracked in #4031

marchelzi commented 1 month ago

I totally agree. RIPE Atlas is an excellent tool for extensive network analysis with its global reach. However, for my current scenario, where we're primarily having a single VPS interface connected to different ISPs, a solution like a configurable "ping from" parameter might offer a simpler and potentially more cost-effective approach without measurement cost.

CommanderStorm commented 1 month ago

I think this is not general enough of a usecase. As far as I know, usually you have only one internet connection and split in the router if at all. Is my rationale off?

https://github.com/louislam/uptime-kuma/issues/4031 seems like a better usecase for most users.

Your usecase can be achieved via the push monitor. Examples how to use it are here: https://github.com/louislam/uptime-kuma/tree/master/extra/push-examples

more cost-effective approach without measurement cost

Ripe atlas does not cost money. If you run a probe, you can use the network.