Observer.Web.Api (Observer Web v0.2.8)

View Source

Read-only JSON API over the Observer Web collectors, mounted with Observer.Web.Router.observer_api/2.

The API is aimed at automation and AI agents: every endpoint returns a bounded, JSON-encoded snapshot of the same data the dashboard pages render, collected through the existing RPC layer, so it works against any node in the cluster.

Endpoints

All endpoints accept an optional node query parameter (defaults to the local node). The value must match a node currently visible in the cluster, anything else is a 404.

  • GET / - available endpoints and visible nodes.
  • GET /system - runtime info, VM limits, allocator utilization (ObserverWeb.SystemInfo).
  • GET /processes?sort_by=reductions|memory|message_queue_len&limit=50 - etop-style process ranking (ObserverWeb.Processes). reductions are cumulative since process start.
  • GET /ets - every ETS table with size/memory/owner metadata (ObserverWeb.Ets).
  • GET /apps - running applications with description and version (ObserverWeb.Apps).

Access control goes through the same Observer.Web.Resolver used by the dashboard: {:forbidden, _} access renders a 403. Since every endpoint is read-only, both :all and :read_only access are accepted.