[GH-ISSUE #482] [FEATURE REQUEST] Monitor devices via Ping #360

Closed
opened 2026-02-25 23:42:10 +03:00 by kerem · 3 comments
Owner

Originally created by @revilo951 on GitHub (Feb 19, 2021).
Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/482

It'd be very handy to be able to monitor devices that can't call a URL (or online/web services).

E.G. An option to ping a specified IP/Hostname every 10s/30s/1m/5m/30m etc and notify if it doesn't respond within X time (or, even better, the option to notify if the latency is above a specified value?).

This can obviously be done by setting up a script to run externally to healthchecks, and call the URL if it doesn't respond, but IMHO being able to set it up within the UI would be a great value-add.

Thanks again for an awesome solution!

Originally created by @revilo951 on GitHub (Feb 19, 2021). Original GitHub issue: https://github.com/healthchecks/healthchecks/issues/482 It'd be very handy to be able to monitor devices that can't call a URL (or online/web services). E.G. An option to ping a specified IP/Hostname every 10s/30s/1m/5m/30m etc and notify if it doesn't respond within X time (or, even better, the option to notify if the latency is above a specified value?). This can obviously be done by setting up a script to run externally to healthchecks, and call the URL if it doesn't respond, but IMHO being able to set it up within the UI would be a great value-add. Thanks again for an awesome solution!
kerem closed this issue 2026-02-25 23:42:10 +03:00
Author
Owner

@cuu508 commented on GitHub (Feb 22, 2021):

An option to ping a specified IP/Hostname every 10s/30s/1m/5m/30m etc and notify if it doesn't respond within X time (or, even better, the option to notify if the latency is above a specified value?).

Are you thinking of active monitoring, where Healthchecks would be pinging and monitoring the responses? There are many, many tools and services that offer active monitoring already. Making a HTTP request and checking if the response is HTTP 200 is the simplest, but there are also options for sending UDP packets, checking if a port is open, etc. Healthchecks is focused on passive monitoring, and, specifically, on raising alerts when something doesn't happen on time.

Passive monitoring (where the monitored host sends heart beats to Healthchecks), but using something simpler than full HTTP requests is an interesting idea. Healthchecks could maybe run a custom DNS server and treat DNS lookups for <uuid>.hc-ping.com as pings. This would be nontrivial to implement, I would only consider doing it if there was a clear use case and a strong demand.

<!-- gh-comment-id:783170104 --> @cuu508 commented on GitHub (Feb 22, 2021): > An option to ping a specified IP/Hostname every 10s/30s/1m/5m/30m etc and notify if it doesn't respond within X time (or, even better, the option to notify if the latency is above a specified value?). Are you thinking of active monitoring, where Healthchecks would be pinging and monitoring the responses? There are many, many tools and services that offer active monitoring already. Making a HTTP request and checking if the response is HTTP 200 is the simplest, but there are also options for sending UDP packets, checking if a port is open, etc. Healthchecks is focused on passive monitoring, and, specifically, on raising alerts when something doesn't happen on time. Passive monitoring (where the monitored host sends heart beats to Healthchecks), but using something simpler than full HTTP requests is an interesting idea. Healthchecks could maybe run a custom DNS server and treat DNS lookups for `<uuid>.hc-ping.com` as pings. This would be nontrivial to implement, I would only consider doing it if there was a clear use case and a strong demand.
Author
Owner

@revilo951 commented on GitHub (Feb 22, 2021):

I was thinking of active monitoring, with Healthchecks pinging and monitoring the response. IMHO it'd be a valuable addition, in the sense of Healthchecks being a monitoring solution (especially for monitoring devices that don't have a webpage for checking HTTP responses or the ability to call a URL), however, if it's difficult to implement, and diverting from the focus, that's understandable, and one of the other services that do active monitoring will have to be used along-side Healthchecks.

Healthchecks could maybe run a custom DNS server and treat DNS lookups for .hc-ping.com as pings. This would be nontrivial to implement

I'm well out of my depth as far as programming on a project like this goes, but it's curious that running a custom DNS server would be more trivial than checking ICMP responses (unless I'm misunderstanding you).

<!-- gh-comment-id:783764109 --> @revilo951 commented on GitHub (Feb 22, 2021): I was thinking of active monitoring, with Healthchecks pinging and monitoring the response. IMHO it'd be a valuable addition, in the sense of Healthchecks being a monitoring solution (especially for monitoring devices that don't have a webpage for checking HTTP responses or the ability to call a URL), however, if it's difficult to implement, and diverting from the focus, that's understandable, and one of the other services that do active monitoring will have to be used along-side Healthchecks. > Healthchecks could maybe run a custom DNS server and treat DNS lookups for <uuid>.hc-ping.com as pings. This would be nontrivial to implement I'm well out of my depth as far as programming on a project like this goes, but it's curious that running a custom DNS server would be more trivial than checking ICMP responses (unless I'm misunderstanding you).
Author
Owner

@cuu508 commented on GitHub (Mar 8, 2021):

I'm well out of my depth as far as programming on a project like this goes, but it's curious that running a custom DNS server would be more trivial than checking ICMP responses (unless I'm misunderstanding you).

Checking ICMP responses would be fine for active monitoring. For passive monitoring, we would need to be able to map the ICMP message to a UUID in Healthchecks. One way I could think of, is to tell the clients to ping hosts like some-uuid-here.hc-ping.com. They would first need to resolve the IP address, and we can use the DNS query (not the subsequent ping), as the heartbeat signal. There may be a simpler way :-)

I'll close this issue as active monitoring is out of scope for this project.

<!-- gh-comment-id:792736410 --> @cuu508 commented on GitHub (Mar 8, 2021): > I'm well out of my depth as far as programming on a project like this goes, but it's curious that running a custom DNS server would be more trivial than checking ICMP responses (unless I'm misunderstanding you). Checking ICMP responses would be fine for active monitoring. For passive monitoring, we would need to be able to map the ICMP message to a UUID in Healthchecks. One way I could think of, is to tell the clients to ping hosts like some-uuid-here.hc-ping.com. They would first need to resolve the IP address, and we can use the DNS query (not the subsequent ping), as the heartbeat signal. There may be a simpler way :-) I'll close this issue as active monitoring is out of scope for this project.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/healthchecks#360
No description provided.