-
Notifications
You must be signed in to change notification settings - Fork 1
Health Checks
Applegate Monitor supports 8 health check types. Each server can run multiple checks simultaneously — for example, a web server might have both an HTTP check and a TCP port check.
| Setting | Default | Description |
|---|---|---|
| Poll interval |
30000 ms |
How often checks run (global CHECK_INTERVAL env var, or per-server override) |
| Failure threshold | 1 |
Number of consecutive failures before the server is marked down |
| History retention | 90 days | Check results older than 90 days are pruned automatically |
Every check records a response time. The server detail view shows:
- 24-hour response time chart — bucketed by hour, showing avg / min / max
- Heartbeat history bar — last 90 check results shown as colored ticks (green = up, red = down)
Sends an ICMP echo request and measures round-trip latency.
Requires:
NET_RAWLinux capability on the container (cap_add: [NET_RAW]in Docker Compose).
Config fields:
-
host— target hostname or IP address
Opens a raw TCP connection to a host:port and measures connection time.
Config fields:
-
host— target hostname or IP address -
port— TCP port number (e.g.22,443,3306)
Performs a full HTTP(S) request and checks the response status code.
Config fields:
-
url— full URL including scheme (e.g.https://example.com/health) -
expected_status— expected HTTP status code (default:200)
Additional features:
- SSL certificate tracking — forces a fresh TLS handshake on every check (no session caching). Displays days until certificate expiry on the server detail view.
- Certificate expiry is also available via the badge API (
/api/badge/:id/cert-exp). - Response time measures total request time including TLS handshake.
Resolves a DNS record and optionally asserts its value.
Config fields:
-
host— hostname to resolve -
record_type—A,AAAA,CNAME,MX,TXT, orNS -
expected_value(optional) — if set, the resolved value must match this string for the check to pass
Sends a UDP probe to a host:port and waits for a response or timeout.
Config fields:
-
host— target hostname or IP address -
port— UDP port number (e.g.51820for WireGuard)
Monitors a TP-Link Omada SDN gateway via the Omada Open API v6. Reports WAN status, link speed, uptime, and WAN IP.
Prerequisites:
- An Omada controller must be added in the admin panel → Omada tab (requires Client ID, Client Secret, and controller base URL).
Config fields:
-
controller_id— the Omada controller configured in the admin panel -
site— Omada site name -
device_mac— MAC address of the gateway device
Monitors a cellular/LTE backup WAN interface on an Omada gateway. Includes optional direct probe IP ping for signal verification.
Config fields:
-
controller_id— the Omada controller configured in the admin panel -
site— Omada site name -
device_mac— MAC address of the gateway device -
probe_ip(optional) — IP address to ping directly via the LTE interface
Monitors the health status of any TP-Link Omada hardware device (switches, APs, etc.) via the Omada Open API v6.
Config fields:
-
controller_id— the Omada controller configured in the admin panel -
site— Omada site name -
device_mac— MAC address of the device
Monitors Square payment terminal and location health via the Square API. Reports device status, online device count, and active/inactive state.
Prerequisites:
- A Square account must be added in the admin panel with a valid Square API access token.
Config fields:
-
square_account_id— the Square account configured in the admin panel -
location_id— Square location ID to monitor
Each server exposes embeddable SVG status badges:
| Endpoint | Description |
|---|---|
/api/badge/:id/status |
Up / Down / Degraded with color |
/api/badge/:id/uptime?duration=24h|7d|30d |
Uptime % — green ≥99%, yellow ≥95%, red <95% |
/api/badge/:id/ping |
Latest response time — green <150ms, yellow <400ms, red ≥400ms |
/api/badge/:id/cert-exp |
SSL certificate expiry in days |
Example (Markdown):

