Ping monitor
Ping monitors send ICMP packets to one or more hosts and evaluate the combined result.Configuration
| Field | Type | Default | Notes |
|---|---|---|---|
hosts | Array<{ type, host, timeout, count }> | one empty host row | At least one host required |
pingEval | string (JS function) | built-in default | Optional custom eval |
| Field | Type | Default | Notes |
|---|---|---|---|
type | IP4 | IP6 | DOMAIN | IP4 | Address type |
host | string | — | Required |
timeout | number | 1000 | Timeout per ping attempt in ms |
count | number | 3 | Number of ICMP packets to send |
Default eval behavior
- UP if all hosts respond (
alive === true) - DOWN if any host is unreachable
- Latency = average latency across all hosts
Custom eval contract
Your function receivesarrayOfPings and must return { status, latency }.
Example
Troubleshooting
- Frequent DOWN: some networks and firewalls block ICMP — consider switching to a TCP check on the same host
- Noisy latency: increase
countto reduce the effect of a single dropped packet - Validation error: the
typefield must match the format of the address (e.g.,IP4for IPv4 addresses)
TCP monitor
TCP monitors attempt to open a connection to a host and port, and report whether the port isopen, timeout, or error.
Configuration
| Field | Type | Default | Notes |
|---|---|---|---|
hosts | Array<{ type, host, port, timeout }> | one empty host row | At least one host required |
tcpEval | string (JS function) | built-in default | Optional custom eval |
| Field | Type | Default | Notes |
|---|---|---|---|
type | IP4 | IP6 | DOMAIN | IP4 | Address type |
host | string | — | Required |
port | number | 80 | TCP port to probe |
timeout | number | 1000 | Connection timeout in ms |
Default eval behavior
- UP if every host result has
status === "open" - DOWN otherwise
- Latency = average connection latency across all hosts
Custom eval contract
Your function receivesarrayOfPings (TCP result objects) and must return { status, latency }.
Example
Troubleshooting
- Timeout: the network path is blocked or the service is slow to accept connections
- Error: the host is wrong, the port is not listening, or DNS resolution failed
- Validation error: the
typefield must match the format of the address
DNS monitor
DNS monitors query a DNS record for a host and compare the returned values to your expected list.Configuration
| Field | Type | Default | Notes |
|---|---|---|---|
host | string | — | Required — the domain to query |
nameServer | string | "" | Optional DNS resolver override |
lookupRecord | string | A | Record type to look up (e.g. A, AAAA, CNAME, MX, TXT) |
matchType | ANY | ALL | ANY | How to compare results to expected values |
values | string[] | [] | Expected record values (at least one required) |
Match behavior
matchType | Result |
|---|---|
ANY | UP when at least one expected value is present in the DNS response |
ALL | UP only when every expected value is present in the DNS response |
Value normalization
Before comparison, both the DNS response values and your expected values are normalized:- converted to lowercase
- trailing
.removed - whitespace trimmed
Example
Troubleshooting
- Unexpected DOWN: copy the exact value from a manual
digquery — normalization applies, so remove trailing dots - No response: verify that the record type exists and that the resolver is reachable from Kener
- Partial mismatch with multiple IPs: use
ANYfor dynamic DNS setups where the response varies