Monitors / Ping
Ping
ICMP echo. If the network blocks ping, the probe tries TCP 443 then 80.
How it works
The worker sends one ICMP echo. Inside Docker that needs cap_add: [NET_RAW] on the worker. If ICMP fails, the same check falls back to opening TCP 443, then 80. A successful TCP fallback still counts as connected.
There is no HTTP status or certificate. Conditions are about reachability, latency, and the resolved IP.
Target
Hostname or IP. No scheme or port.
example.comPlaceholders
Available on this type. See conditions for operators and pat() / has() / len() / any().
[CONNECTED] [RESPONSE_TIME] [IP] [DOMAIN_EXPIRATION]
Defaults
New monitors of this type start with:
[CONNECTED] == true[RESPONSE_TIME] < 50Example conditions
[CONNECTED] == true[RESPONSE_TIME] < 50GraphQL
type is Ping. Same fields as the admin, camelCase in the input (intervalSeconds, requestBody, probeIds).
mutation {
createMonitor(input: {
name: "Edge"
type: Ping
target: "example.com"
conditions: ["[CONNECTED] == true"]
}) { id }
}Terraform
Resource is nominal_monitor from returnearly/nominal. type is Ping. Shared arguments match the shared fields in snake_case (name, target, interval_seconds, probe_ids, channel_ids). Omitted conditions use the type defaults.
resource "nominal_monitor" "edge" {
name = "Edge"
type = "Ping"
target = "example.com"
conditions = ["[CONNECTED] == true"]
}