Skip to main content
Netquirk Monitoring mon.netquirk.com
Netquirk Monitoring · mon.netquirk.com

Uptime checks and host telemetry, in one signed-in workspace.

Netquirk Monitoring runs synthetic probes from three worker regions (us-east, eu-west, ap-south) and collects host metrics through a single static Go binary, the mon-agent. Probes cover ICMP, TCP, UDP and HTTP; the agent publishes per-core CPU, RAM, per-disk I/O, per-interface network, LVM and Btrfs volume metrics.

Sign in to open the dashboard Install the agent

Probes from us-east · eu-west · ap-south Push-metric profiles · agent / statsd / prometheus

What it is

A monitoring surface for the rest of the Netquirk stack.

Synthetic probes from three regions

Each probe type runs from all three worker regions in parallel; the public dashboard surfaces per-region latency and success so a single CDN outage does not look like a single-region blip.

Push-metric profiles

The push endpoint accepts three named profiles: agent (the mon-agent Go binary), statsd (line-oriented text over TCP), and prometheus (text exposition). Each profile declares the keys it surfaces; unknown keys are accepted or rejected per profile.

Public status pages

A status page exposes the operators' chosen monitors to the public. Each page is reachable on its own URL under /status/<label>; the rendered page is purely server-side and survives a CDN origin hiccup.

Auth and signing keys

Sign in with your Netquirk account through OIDC; the JSON API uses API keys prefixed nq_ over bearer-token authentication. Both surfaces share the same monitor database — there is one source of truth, not two.

Probe types

Six probe kinds, all backed by the same dispatcher.

Each monitor has a single kind. The kind chooses what the worker sends and what counts as a pass.

  • icmp — round-trip time and packet-loss threshold against an IPv4 or IPv6 target.
  • tcp — three-way handshake against a host:port; timeout and optional pre-ACK banner match.
  • udp — payload send + optional reply regex; useful for DNS and other stateless services.
  • http — full HTTP/HTTPS probe with method, expected status class, optional body regex, optional JSONPath assertions, and TLS expiry window.
  • metrics — counts and stores metrics pushed to the push endpoint, evaluated against a profile-defined set of allowed keys and per-key thresholds.
  • agent — alias for metrics with the agent profile; identifies monitors backed by the Go agent.
Install the agent

One shell command, run on each Linux host.

The installer is the canonical source on the netquirk/mon-agent GitHub repository. It places a single static binary, registers a systemd unit, and starts pushing metrics on the interval you pass to -interval.

$ curl -fsSL https://raw.githubusercontent.com/netquirk/mon-agent/main/install.sh \
 | sudo bash -s -- -id "<monitor-uuid>" -interval 30
Replace <monitor-uuid> with the monitor id shown on the monitor's "raw agent metrics" page. The interval is in seconds; thirty is a sensible default, smaller values cost more disk per day per host.
JSON API

Everything the dashboard does, scripted.

The JSON API is documented at /api/docs and lives under /api/v1/. Authentication is bearer-token with an API key prefixed nq_, scoped per monitor. Programmatic callers can list, create, update, pause and delete monitors; pull response-time samples from the metric store; and reach the public read-only endpoints (/healthz, /metrics, status badges) without any token at all.

Read the API reference Hit /api/v1/health

Sign in to manage monitors, alerts and status pages

The dashboard lives behind the same Netquirk account that signs you in to netquirk.com. There is no separate signup form to fill in.

Sign in via Netquirk