Skip to main content
Learn more about ICMP Monitors in the ICMP monitor overview.
ICMP monitors check if a host is reachable by sending ICMP Echo Requests (pings). Use them to monitor network connectivity and latency.
Before creating ICMP Monitors, ensure you have:
  • An initialized Checkly CLI project
  • A hostname or IP address you want to ping
  • Basic understanding of network connectivity (ICMP / ping)
For additional setup information, see CLI overview.

Configuration

ICMP monitors have their own ICMP-specific settings, plus the standard monitor options shared across all check types.

IcmpMonitor Options

request
object
required
ICMP request configuration, including ping settings and response validation.Usage:
Parameters:
degradedPacketLossThreshold
number
default:"10"
Packet loss percentage at which the monitor is marked as degraded (warning state).Usage:
maxPacketLossThreshold
number
default:"20"
Packet loss percentage at which the monitor is marked as failedUsage:

IcmpMonitor Assertions

Assertions for ICMP monitors can be defined using the IcmpAssertionBuilder. The following sources are available:
  • latency(property): Validate round-trip time (RTT) for ICMP pings. The property parameter is required and must be one of: avg, min, max, or stdDev
  • jsonResponse(property?): Assert against the JSON response structure. This allows you to target specific fields using JSON path assertions
Here are some examples:
  • Assert the average latency is below a threshold
  • Assert against specific JSON fields in the response
Learn more in our docs on Assertions.

General Monitor Options

name
string
required
Friendly name for your ICMP Monitor that will be displayed in the Checkly dashboard and used in notifications.Usage:
frequency
Frequency
How often the ICMP Monitor should run. Use the Frequency enum to set the check interval.Usage:
Available frequencies: EVERY_10S, EVERY_20S, EVERY_30S, EVERY_1M, EVERY_2M, EVERY_5M, EVERY_10M, EVERY_15M, EVERY_30M, EVERY_1H, EVERY_2H, EVERY_3H, EVERY_6H, EVERY_12H, EVERY_24H
locations
string[]
default:"[]"
Array of public location codes where the ICMP Monitor should run from. Multiple locations provide geographic coverage and help detect regional network issues.Usage:
activated
boolean
default:"true"
Whether the ICMP Monitor is enabled and will run according to its schedule.Usage: