Monitor any host or network service that doesn't speak HTTP, and get alerted the moment it stops responding.
HTTP monitors cover websites and APIs, but plenty of infrastructure never answers an HTTP request: bare servers, databases, mail servers, game servers, VPN endpoints. Ping and port monitors cover these cases. A ping (ICMP) monitor tells you whether a host is reachable at all. A port monitor tells you whether a specific service on that host is accepting connections.
Use them when you want to know that:
db.example.com or 203.0.113.10. Don't include http:// or https://, those prefixes are for HTTP monitors.ICMP performs a simple echo request, commonly called a ping. The host either returns an echo response, in which case it's considered up, or it doesn't, in which case the check fails. There's nothing else to configure: no status codes, no request bodies.
One caveat: some networks and cloud firewalls block ICMP entirely. If your host is up but pings are filtered, the monitor will report it as down. In that case, monitor a TCP port instead.
5432 for PostgreSQL. The port is required for this protocol.A port monitor attempts a TCP connection to the given host and port. If the connection is accepted, the service is considered up. If it's refused or times out, the check fails and, once confirmed, alerts go out.
Ping and port monitors use the same regions and scheduling as every other monitor. Checks are performed from one selected region at a time, rotating between them:
This double-checking matters for network-level monitors: a single region can lose a route to your host while the rest of the internet reaches it fine. Requiring confirmation from other regions filters out these localized blips.
The default check interval is 30 seconds. Going lower than 30 seconds requires a Business or Enterprise plan. Selecting regions close to your infrastructure keeps latency measurements meaningful, since checks from far away include the round trip in their timings.
| Service | Protocol | Port |
|---|---|---|
| SMTP (mail server) | Port | 25 or 587 |
| PostgreSQL | Port | 5432 |
| Redis | Port | 6379 |
| SSH | Port | 22 |
| Server or gateway reachability | ICMP | n/a |
Only expose and monitor ports that are meant to be reachable from the internet. If your database only listens on a private network, Hyperping's pingers won't be able to reach it, and it's usually better kept that way.
Ping and port monitors check reachability, not correctness. The HTTP advanced settings don't apply here: there's no expected status code and no text body assertion. A port monitor will happily report your database as up as long as something accepts the TCP connection, even if the service behind it is misbehaving.
Two ways to close that gap:
Both monitor types are available through the create monitor API. Set protocol to icmp or port, pass the hostname in url, and include the port number when the protocol is port:
curl -X POST https://api.hyperping.io/v1/monitors \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "PostgreSQL primary",
"url": "db.example.com",
"protocol": "port",
"port": 5432,
"regions": ["paris", "frankfurt", "london"],
"check_frequency": 30
}'If you manage your monitoring as code, the Terraform provider exposes the same fields on the hyperping_monitor resource.