Skip to content

Health Monitoring

The agent reports the health of the robot and the host it runs on, so you can see problems in the fleet manager.

What the agent reports

  • System health of the host: resource usage such as CPU, memory, disk, temperature, and network signal. The agent samples these itself, about once every five seconds.
  • Its own version and uptime: agent version, OS information, uptime, and restart counters.
  • Robot status and telemetry: the robot's operating mode and live status, derived from the data the agent ingests locally (see Telemetry).

These are published to the cloud over the agent's secure (mTLS) link and shown in the web app. A detailed reference of the exact health metrics and reporting intervals is coming soon.

Host health is the agent's job, not yours. System health and agent version information travel on the agent's own control-plane link, not on the robot-software uplink. Robot software cannot publish or override them. To surface a host metric the agent does not collect, send it as a sensor reading and declare it as a sensor in your capabilities manifest. To report your software's own version, publish applicationInfo.

How faults appear

When your robot software emits a fault, the agent ingests it from local Zenoh and forwards it uplink. Faults then surface in the fleet manager, where operators can see:

  • That a robot has an active fault.
  • Which robot and what kind of fault it is.

This lets operators triage issues across the fleet without logging into individual robots. For the fault message shape, see Health & status messaging.

Events

In addition to faults, the agent forwards events: discrete, named occurrences reported by the robot, each with a severity and free-text detail. Like faults, these are ingested locally and published to the cloud so they appear in the fleet view. An event name must be declared in the robot's capabilities manifest before the server will process it. See Health & status messaging.

Checking health on the robot

To inspect the agent locally, use the systemd service and its logs:

sudo systemctl status rover-agent
journalctl -u rover-agent -f               # follow logs

If health or status is missing in the web app, confirm the agent is running, enrolled, and able to reach the cloud. See Verify agent connectivity.