---
title: Ping monitors
description: ICMP echo checks for hosts that have no port to talk to.
sidebar:
  label: Ping
---

{/* Source of truth: packages/shared/src/monitors.ts — pingConfigSchema,
    IpVersions. */}

A ping monitor sends an ICMP echo request and waits for the reply. It answers
one question: is this host reachable?

## Configuration

| Setting | Allowed values | Default |
| --- | --- | --- |
| `host` | hostname or IP, 1–255 characters | required |
| `packetSize` | 1–65500 bytes | 56 |
| `ipVersion` | `auto`, `ipv4`, `ipv6` | `auto` |

`auto` resolves whatever the host's DNS offers. Pin `ipv4` or `ipv6` when you
specifically want to prove one stack works — a dual-stack host with a broken
IPv6 route looks perfectly healthy on `auto`.

## When ping is the wrong tool

Plenty of healthy hosts drop ICMP: cloud load balancers, hosts behind a firewall
with an ICMP policy, and most CDNs. A ping monitor against one of those reports
`DOWN` forever while the service is fine.

Ping is a good fit for infrastructure you control — servers, routers, gateways,
VPN endpoints. For anything user-facing, an [HTTP monitor](/monitors/http) tells
you what your users actually experience.

## Reading latency

Ping latency is round-trip network time only. It is useful for spotting routing
changes and congestion, and it is not comparable to the response time on an HTTP
monitor, which includes DNS, TLS and the application's own work.
