mirror of
https://github.com/healthchecks/healthchecks.git
synced 2026-04-25 06:55:53 +03:00
[GH-ISSUE #482] [FEATURE REQUEST] Monitor devices via Ping #360
Labels
No labels
bug
bug
bug
feature
good-first-issue
new integration
pull-request
question
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/healthchecks#360
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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!
@cuu508 commented on GitHub (Feb 22, 2021):
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.comas pings. This would be nontrivial to implement, I would only consider doing it if there was a clear use case and a strong demand.@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.
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).
@cuu508 commented on GitHub (Mar 8, 2021):
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.