2.11UDP
What it checks#
A UDP monitor sends one datagram (a single UDP message) to a host and port, and waits for a reply. You can also require the reply to contain some text. Use it for UDP services that answer, such as DNS, NTP (time servers), STUN and game servers.
When it is up, degraded or down#
- Up: a reply arrived within the timeout, it contains the expected text (if set), and the response-time assertion passed (if set).
- Degraded: the reply was slower than your slow limit, if you set one.
- Down: one of these:
udp <host:port>: no reply within <timeout>;udp <host:port>: port unreachable (ICMP);udp <host:port>: reply did not contain "<text>" (N bytes back);- a response-time assertion failed.
Configuration#
| Dashboard field | Default | Limits and notes |
|---|---|---|
| name | Empty | Required. Up to 200 characters, on one line. |
| check interval | 60 seconds | At least 1 second. Your plan's minimum interval still applies: below it the form shows Your plan checks at most every N seconds. |
| timeout | 10 seconds | In seconds. A value above 60 seconds counts as 60 seconds. |
| locations | None (runs from us-west) | Choose from the regions shown. The check runs from each one you pick. |
| on failure — notify | None (all team channels) | Pick channels to limit who is alerted. Shown only when your team has channels. |
| endpoint (host) | Empty | Required. Host only, such as ntp.acme.io. |
| endpoint (port) | Empty | Required. 1 to 65535. |
| probe (payload) | Empty | The datagram to send, as text. Up to 1,232 bytes. Empty sends a zero-length datagram. Sent exactly as typed; spaces are kept. |
| probe (expected reply) | Empty | Optional. Text the reply must contain. Empty: any reply counts. |
| assertions — response-time only for udp | None | Response time only. |
Assertions supported#
response_time_ms only: the time until the reply arrived.
Example#
A text service that answers PONG to PING. In the dashboard, enter payload PING and expected reply PONG. Through the API, send the payload in base64:
{
"name": "game.acme.io",
"host": "game.acme.io",
"port": 7777,
"payload": "UElORw==",
"expect": "PONG",
"intervalSeconds": 60
}Good to know#
- The check is up only when the service replies. A host that silently drops the message reads as down. Point the monitor at a service that answers.
- Many services ignore an empty or wrong message. Send a real request for the service. For binary requests, use the API, where
payloadis base64. - Only the first 4,096 bytes of the reply are searched for the expected text.