All articles

Node Insights: Server Inventory, Stack Versions, and Hardware Health

An uptime check can tell you that a URL is responding. But it cannot tell you which version of PHP is running, how full your disk is, or whether memory has been creeping up all week. Node Insights is a ServerVisor add-on that closes that gap. It tracks software versions, resource usage, and custom facts across your servers, and records a history every time something changes.

What Node Insights tracks

A node periodically sends a snapshot of its state as key-value pairs called facts: things like the OS version, kernel version, PHP version, available disk space, memory usage percentage, and how long the system has been running. You decide which facts to report. There is no fixed schema.

Every fact has a current value and a previous value. When a value changes, ServerVisor records a history entry. This means you always have an answer to what changed and when, not just what things look like right now.

  • Software versions: OS, kernel, PHP, Python, Node.js, database versions, anything you care about
  • Disk space: free GB per mount point, so you catch a filling volume before it becomes an outage
  • Memory usage: percent used over time, with history so you can spot gradual pressure
  • Custom facts: anything you can express as a key-value pair: a config flag, a queue depth, a certificate fingerprint

How nodes report facts

Reporting is a single authenticated HTTP POST. Your agent (a script, a cron job, or a small daemon) sends a JSON payload to the ServerVisor insights endpoint. The payload contains the node name (typically the hostname) and a map of facts. If the node does not exist yet in your account, it is created automatically on first report.

POST /v1/insights/report
Authorization: Bearer sv_ins_...

{
  "node": "web-01",
  "facts": {
    "os": "Ubuntu 24.04.1 LTS",
    "kernel": "5.15.0-112-generic",
    "php": "8.2.18",
    "disk.root.free_gb": {"value": 203, "type": "numeric", "unit": "GB"},
    "memory.used_pct": {"value": 74, "type": "numeric", "unit": "%"}
  }
}

The token in the Authorization header is a per-account insights API token you generate from your settings. It is separate from your main API token. Agents only need access to report facts, not to manage monitors or billing. You can rotate it at any time, and agents using the old token immediately lose access.

Fact types are inferred automatically from the value: strings, numbers, booleans, semantic versions, and datetimes are all detected. For precise control you can use the object form with an explicit type and display unit, as shown above.

Tracking what changed

The most immediately useful view is the changes feed: a log of every fact that changed across any node. If a PHP version was updated, a disk volume crossed a threshold, or the kernel was patched, it appears here with a before and after value, the node it happened on, and when it was recorded.

Sometimes you do not know what looks wrong without just the right view of what is happening. The changes feed gives you that view: a clean before-and-after for every fact that moved, across every node, in one place.

Querying across your fleet

The cross-node query endpoint lets you ask a question across every node at once. You specify a fact key, an optional value, and a match mode: exact, prefix, or contains. This turns Node Insights into a lightweight inventory system.

  • Find every server still running PHP 7.x before you drop support for it
  • List all nodes where disk.root.free_gb is below 50 before you start a large data migration
  • Confirm that a kernel patch has propagated to all nodes after a maintenance window
  • Check which servers are running a specific version of a dependency before you push a breaking change

Alert rules

Alert rules fire a notification when a fact value meets a condition. You can scope a rule to a single node or apply it to all nodes on the account. Operators cover numeric comparisons (greater than, less than), equality, string matching, and a special "changed" operator that fires whenever a fact's value changes at all, regardless of what it changed to.

Alerts route through your existing notification configuration, so you can send them to email, SMS, or a webhook endpoint alongside your uptime alerts.

Linking a node to an uptime monitor

If you already have an uptime monitor watching a domain that a node serves, you can link the two. Once linked, the node detail page shows that monitor's uptime history alongside the node's reported facts. You get a single view that answers both questions at once: is the site responding, and what does the server behind it actually look like right now.

Node Insights is available as an add-on to any ServerVisor plan, billed separately per node. You can add Node Insights from your billing settings and have your first node reporting facts in a few minutes. We have example scripts to get you started.

Start tracking your servers

Add Node Insights to your plan and have your first node reporting in minutes.

Add Node Insights
Want to learn more?
Browse all our guides and articles.
View plans