# Ping monitors

A ping monitor sends ICMP echo requests to a host and waits for replies. Use it for servers, routers and other devices that do not run a web server. The check passes if at least one reply arrives before the timeout.

## Add a ping monitor

1. In the sidebar, select **Monitors**.
2. Select **Create monitor**.
3. Under **Type**, select **Ping**.
4. In **Target**, enter a host name or an IP address, for example `203.0.113.10`.
5. Select **Create and start**.

## What a check does

1. If the target is a host name, the Spectate checker looks up its IP address. If the name has both IPv4 and IPv6 addresses, the checker uses IPv4.
2. The checker sends 3 echo requests, 250 milliseconds apart.
3. It waits for replies until **Timeout** ends.

The check passes if at least one reply arrives. The response time is the average round-trip time of the replies.

The check fails if any of these is true:

- The host name does not resolve, or resolves to a private or reserved address.
- No reply arrives before **Timeout** ends. The error is `no icmp echo reply from ADDRESS (3 sent)`.

As for every monitor type, Spectate checks again about 5 seconds after a failure. Only a second failure makes the monitor down. See [Locations and checks](/monitors/locations-and-checks).

## Settings

| Setting | Values | Default |
|---|---|---|
| **Target** | A host name or an IPv4 or IPv6 address | |
| **Timeout** | 1 to 60 seconds, for the whole check | 10 seconds in the dashboard, 30 seconds in the API |

A ping monitor has no TLS, no keyword and no certificate checks. The other settings are the same as for every monitor. See [Uptime monitors](/monitors/introduction).

## Allow the checker through your firewall

Many firewalls drop ICMP echo requests. If your firewall drops them, the ping monitor is down even when the host works. Allow ICMP echo requests from the IP address of the region that checks the monitor. See [IP addresses](/faq/ip-addresses).

A host that answers ping can still have a service that does not work. To check a service, use a [TCP monitor](/monitors/tcp) on its port, or an [HTTP monitor](/monitors/http).
