> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uptimeio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ping (ICMP) Monitoring

> Check that a server or device is reachable on the network with ICMP ping

A ping monitor sends ICMP echo requests to a host and succeeds when the host replies. It tells you whether a machine is reachable, not whether a particular service on it is working.

## When to use it

* Confirm a server or network device is online
* Watch a VPN endpoint or router that has no open TCP port
* Pair with [Port](/monitors/port) and [HTTP](/monitors/http) monitors to see at which layer a problem is

<Note>
  Ping checks run from UptimeIO's probe locations over the public internet. The target must be publicly reachable: private and internal targets (private IP ranges such as 10.x, 172.16-31.x and 192.168.x, `localhost`, and names ending in `.local`, `.internal` or `.lan`) are not accepted.
</Note>

## Create a ping monitor

<Steps>
  <Step title="Enter the target">
    Enter the **Host or IP Address**, a public hostname or IP address such as `vpn.yourcompany.com` or `203.0.113.10`.
  </Step>

  <Step title="Set the interval">
    In **How often we check**, choose the **Check Interval**. The shortest interval depends on your plan: 5 minutes on Free, 1 minute on Pro and Scale.
  </Step>

  <Step title="Choose probe locations">
    UptimeIO probes from multiple [locations](/monitors/probe-locations). Pro and Scale can choose which locations run regular checks (at least one); Free uses automatic selection.
  </Step>

  <Step title="Review the ping settings">
    **ICMP Configuration** shows the packet and timeout settings below. The defaults suit most hosts.
  </Step>
</Steps>

### Settings

| Setting | What it does | Default / options |
| - | - | - |
| **Monitor Name** | Name shown in your dashboard | Generated from the host, up to 80 characters |
| **Host or IP Address** | The machine to ping | Required |
| **Check Interval** | Time between checks | 1 minute to 24 hours. Plan minimum applies |
| **Packet Count** | Number of echo requests sent per check, about one second apart | 4 (1 to 10) |
| **Packet Size** | Size of each packet in bytes. The maximum, 1,472, is the largest that fits a standard network packet without being split | 64 (1 to 1,472) |
| **Timeout** | Longest a check may take, in milliseconds. Must be shorter than the check interval. Packets not sent by then are not counted | 10,000 ms (up to 60,000) |
| **TTL (Time To Live)** | Maximum network hops a packet may travel. Optional | System default (1 to 255) |

<Info>
  Each check sends the number of echo requests set in **Packet Count**, each **Packet Size** bytes, and succeeds if at least one reply is received. It fails when every packet is lost, the host cannot be resolved, or the timeout passes. Because requests go out about one second apart, set the **Timeout** to at least the **Packet Count** in seconds, or the check ends before all packets are sent.
</Info>

### Example

* **Host or IP Address**: `vpn.yourcompany.com`
* **Check Interval**: 5 minutes
* **Packet Count**: 4
* **Packet Size**: 64
* **Timeout**: 10,000 ms

## Results

Each check records whether it succeeded, the round-trip time, and packet statistics (packets sent and received, packet loss). Packet loss is calculated from the packets actually sent in that check.

An incident opens when the host stays unreachable. Because incidents need confirmation from several probe locations, a failure seen from only one location does not open one (see [Understanding incidents](/essentials/understanding-incidents)).

## Firewalls

Allow inbound ICMP echo requests (type 8) and echo replies (type 0) to the host. Many cloud providers block ICMP by default, so add an explicit rule in your security group, network security group or firewall.

## Ping or port?

| Compare | Ping (ICMP) | Port (TCP) |
| - | - | - |
| Checks | The host answers | A service accepts connections |
| Often blocked by firewalls | Yes | Rarely |
| Use for | "Is the server up?" | "Is the service up?" |

## Troubleshooting

<AccordionGroup>
  <Accordion title="100% packet loss">
    The host is down, ICMP is blocked, or the target is wrong. Check that the host is online, that the firewall allows ICMP, and try `ping hostname` from your own machine.
  </Accordion>

  <Accordion title="Unknown host">
    The name does not resolve. Check the spelling and the DNS records (`nslookup hostname`).
  </Accordion>

  <Accordion title="Timeouts">
    Raise the **Timeout**, check for a firewall that silently drops ICMP, and try with a probe location closer to the host.
  </Accordion>

  <Accordion title="Target not accepted">
    The target is private, internal, a test domain or one of UptimeIO's own domains. Use a public hostname or IP.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Port Monitoring" icon="plug" href="/monitors/port">
    Monitor specific service ports
  </Card>

  <Card title="Notifications" icon="bell" href="/notifications/overview">
    Configure alerts for ping monitors
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.