Create a Monitor
Create a new monitor and configure interval, retries, region, and alerting coverage.
This guide walks you through creating a monitor in Garmingo Status and explains each field, plan limits, and how the platform treats the values you provide.
Prerequisites
- A Status Instance (workspace) already created.
- Sufficient remaining monitor quota on your plan.
- (Optional) At least one Status Page if you want to surface the monitor publicly.
Plan‑Based Limits
Your subscription plan enforces hard limits when creating a monitor:
- Monitors: Maximum count depends on the plan (e.g. Free: 3, Starter: 10, Standard: 50, Business: 300).
- Minimum Interval (TTL): The shortest allowed check interval (in seconds). Example: Free = 300s, Starter = 60s, Standard = 20s.
- Max Retries: Currently fixed at 5 across most plans (some monitor types disable retries entirely).
If you exceed the monitor quota or provide a TTL below the allowed minimum, creation will be rejected.
Supported Monitor Types
Type | Purpose | Typical Use | Retry Behavior |
---|---|---|---|
http | HTTP(S) endpoint health & performance | APIs, websites | Retries enabled |
icmp | Host/network reachability (ping) | Servers, gateways | Retries enabled |
tcp | Port reachability (open socket) | Databases, services | Retries enabled |
udp | UDP port responsiveness | Game / streaming endpoints | Retries enabled |
heartbeat | External cron / job heartbeat | Cron jobs, workers | Retries disabled (event driven) |
manual | Manually controlled status | Third‑party service, legacy | Retries disabled |
ssl | SSL certificate validity / expiry | Domains, endpoints | Retries enabled |
smtp | SMTP server reachability | Mail infrastructure | Retries enabled |
dns | DNS record integrity | Domains / zones | Retries enabled |
See the dedicated “Monitor Types” section for deep dives and type‑specific settings.
Field Reference (Request Body)
If you use the API directly, you send a JSON body that follows this structure (simplified overview):
{
"displayName": string (1..64 chars, required),
"type": one of the supported type identifiers (required),
"settings": object (type‑specific keys),
"ttl": number (seconds) >= plan.minTTL and <= 86400, default 60*,
"retries": number 0..10 (ignored / forced to 0 for heartbeat & manual),
"region": deployment region identifier (defaults eu-central),
"proxyType": null | one of supported proxies for the type, optional,
"proxyHost": string | null,
"proxyPort": number | null,
"proxyUsername": string | null,
"proxyPassword": string | null,
"metadata": object (freeform; heartbeat token auto‑injected),
"keywords": string[] (max 10, HTTP keyword / content assertions),
"enabled": boolean (default true)
}
*NOTE: The default 60s is further raised to the plan minimum if your plan’s minTTL
is larger.
Regions
Current region identifiers (may expand): eu-central
, eu-central-2
, eu-west
, na-north
, us-east
, us-west
, as-south
, oc-east
.
Pick the region closest to the target for latency‑sensitive monitoring.
Proxies
Only certain monitor types permit proxies:
- HTTP:
http
,https
,socks5
- TCP / UDP:
socks5
- Others: none
If you pass an empty string for proxyType
, it is normalized to null
.
Heartbeat Monitor Special Flow
- Create a monitor with
type: "heartbeat"
and (optionally) aschedule
setting to document expected cadence. - Retrieve the generated heartbeat token (UI or API if exposed) and call the heartbeat endpoint from your cron/job runner before the TTL expires.
- Missing a heartbeat beyond the allowed interval marks it unhealthy.
Manual Monitor Special Flow
Manual monitors do not actively probe. Their status is set through explicit user / API updates—use this for external dependencies or business processes.
Audit Logging
Every create/update generates a structured diff entry (original vs changed keys, excluding immutable identifiers). When no effective changes exist, no update log entry is stored.
Best Practices
- Start with a higher TTL (e.g. 120–300s) then decrease based on reliability needs to conserve quota headroom.
- Use keyword assertions sparingly—limit to one unambiguous phrase to reduce false negatives.
- Group related monitors by consistent naming prefixes (e.g.
api-auth
,api-orders
) to improve search relevance. - For geographically distributed services, create separate monitors per region rather than relying solely on a single origin check.
Next Steps
- Learn about Monitor Types specifics.
- Explore filtering & search in the Monitors Introduction.
- Set up Incidents and Maintenance Windows to communicate downtime.