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

# ICMP Monitor Configuration

> Configure DevHelm ICMP monitors — host, packet count, timeout, and response time assertions

ICMP monitors require a target host. Additional options control packet count, timeout, and latency thresholds.

<Tip>
  **Define this in code.** [YAML format](/mac/yaml/monitors) · [Terraform](/mac/terraform/monitors)
</Tip>

## Config fields

| Field                | Type    | Required | Default | Description                           |
| -------------------- | ------- | -------- | ------- | ------------------------------------- |
| `config.host`        | string  | Yes      | —       | Hostname or IP address to ping        |
| `config.packetCount` | integer | No       | `3`     | Number of ICMP packets to send (1–20) |
| `config.timeoutMs`   | integer | No       | `5000`  | Ping timeout in milliseconds          |

## Assertions

| Assertion                 | Fields                       | Description                                       |
| ------------------------- | ---------------------------- | ------------------------------------------------- |
| `icmp_reachable`          | *(none)*                     | Passes if the host responds to at least one ping  |
| `icmp_response_time`      | `maxMs` (integer)            | Fails if average response time exceeds threshold  |
| `icmp_response_time_warn` | `warnMs` (integer)           | Records degraded hint for elevated latency        |
| `icmp_packet_loss`        | `maxPercent` (number, 0–100) | Fails if packet loss percentage exceeds threshold |

## Examples

### Basic reachability

```yaml theme={null}
monitors:
  - name: Server ping
    type: ICMP
    config:
      host: server.example.com
    assertions:
      - config:
          type: icmp_reachable
        severity: fail
```

### With latency and packet loss thresholds

```yaml theme={null}
monitors:
  - name: Core router
    type: ICMP
    config:
      host: 10.0.0.1
      packetCount: 10
      timeoutMs: 5000
    frequencySeconds: 30
    regions: [us-east, eu-west]
    assertions:
      - config:
          type: icmp_reachable
        severity: fail
      - config:
          type: icmp_response_time
          maxMs: 100
        severity: fail
      - config:
          type: icmp_response_time_warn
          warnMs: 50
        severity: warn
      - config:
          type: icmp_packet_loss
          maxPercent: 10
        severity: fail
```

## Next steps

<CardGroup cols={2}>
  <Card title="ICMP overview" icon="wifi" href="/monitoring/icmp/overview">
    When to use ICMP monitors.
  </Card>

  <Card title="Multi-region monitoring" icon="earth-americas" href="/guides/multi-region-monitoring">
    Reduce false positives with multi-region checks.
  </Card>
</CardGroup>
