Hetzner does this well. Their robot push notifications are reliable. I still run my own Alertmanager because I want PagerDuty integration, but the external health check is their job, not mine.
The time I accidentally DDoSed myself
I am in Jakarta and use Hostinger for some small projects. Their control panel shows resource usage but I do not trust it for real monitoring. I also had a cron mistake once, not ping but a PHP script that looped. Hostinger suspended the account within two hours. No appeal, just a ticket explaining the CPU policy.
Austin, retired ISP. We saw this constantly in the 2000s. Customer loops, SMURF amplifiers, the lot. The automated abuse systems are better now but the physics are identical. Self-originated traffic can still saturate a line. Fritz48 got lucky it was ICMP and not UDP.
What would UDP have changed? The interface was the same, the rate was the same.
ICMP echo reply is kernel-generated, minimal processing. UDP to a closed port generates ICMP port unreachable, which costs more CPU to generate and can amplify if anything is listening. Your loop was wasteful but not maximally wasteful. Small mercy.
Ex-abuse desk here. The Contabo flag after twelve hours is standard. Most providers have thresholds: packets per second, bandwidth ratio, duration. Twelve hours suggests their system prioritizes sustained anomalies over spikes. The GDPR notice question is interesting. Abuse flags are typically processed under legitimate interest, not consent, so no Article 13 notice required. I am not a lawyer. I just read the tickets.
This is helpful. I had assumed any automated processing of my traffic patterns would trigger notification. The distinction between abuse handling and profiling is clearer now.
Zurich. Slightly off topic but the IPv4 cost angle: every one of those 10,000 pings per minute was a packet that could have carried data. Not relevant for a Contabo VPS, but at scale this is why we charge per Mbps. The waste is real even when the bill is not.
On a consumer GPU inference note, this is exactly why I batch requests. Same wire cost, actual work done. The ping loop is the empty batch, worst case.
Tabs vs spaces started my divorce and cron syntax finished my second marriage