All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
External Uptime monitoring: PING or TCP test?
So, I have access to 2 external monitoring services.
(A) Reputable Provider with 7-SourceLocation 1-minute interval - PING, HTTP/s, custom TCP port
(B) 5min Statuscake FREE tier - PING , HTTP(s), custom TCP
I like that StatusCake has Pushbullet notifications; so already using that for HTTP(s) sites.
However, I was thinking I should use (A) for network-uptime notifications for hosts doing other availability-sensitive things like remote syslog. (I can probably hack up a custom hook to pushbullet later using (A)'s webhooks)
Is ICMP Ping a sensible choice for external network uptime monitoring?
Or does someone here do something crazy like run a tiny TCP server daemon on a high unprivileged port just to send TCP ACKs.
(SSH tcp port wouldn't work, since I'm in the process of putting ssh access behind an iptables whitelist)
Is there something like that out there? Is a userspace netcat LISTEN process safe to run?
If I had the ability to combine/cascade PING and TCP tests, which would be the order of testing? TCP, then PING? or other way around?
Comments
I think there are better options. Icmp is very bad for monitoring as it usually is the first dropped. My suggestion is to use something like my server status script.
https://github.com/Munroenet/ServerStatus
@Mun Running PHP+webserver on every host is a no-go just for testing network={0/1}.
I'm also looking into SNMP(observium) , but that's single-homed to the Observium host network.
This is just for external network connectivity testing from multiple networks. A simple TCP 'ping-pong' daemon would do right?
You can just run a php server with it on a high port. Php should now have the functionality of a small Web server. At least on modern branches.
In my opinion the PING test only shows that your server's power is on with OS running, but nothing else. The server would continue to respond to PING even when important services have crashed or the server itself rebooted to rescue mode.
Check out Monit, it can test various protocols and ports in addition to PING.
I changed all my uptimerobot alerts to TCP on the SSH port, I seem to get alerts a ton quicker. Less overloaded?
I use ping for network tests (checking it the gateway is responding), TCP check against SSH/RDP for all servers, and HTTP content checks for all websites.
I just found this new service yesterday, its still in beta but shows alot of promise. The interface is simple, yet the stats are detailed enough. Its no where near some of the open source alternatives but as its managed its alot easier to setup and use.
https://nodequery.com/