Monitoring

Graphs of CPU, memory, requests and queues, and dashboards of your own.

Overview

Monitoring shows graphs of what runs: CPU, memory, requests, queue lengths. Each machine has its own dashboard, and you can build dashboards of your own.

When to use it

  • Is an app busy or idle?
  • What uses the memory?
  • Keep the graphs you watch on one page.

How it works

Built-in sampler
The control plane samples every resource every 30 seconds from the engine and QEMU — no extra service to run.
SQLite
Samples are kept in the control plane’s own store.

Containers report one-shot stats; counters become rates. Dashboards are resources: graphs of one metric across up to eight resources.

Architecture

Monitoring architectureThe control plane samples everything and stores it itself.statsContainers and VMsSamplerevery 30 sSQLiteDashboards
The control plane samples everything and stores it itself.
  • Containers and VMs to Sampler: stats
  • Sampler to SQLite
  • SQLite to Dashboards

Flows

A dashboard

  1. Create a dashboard with a graph per metric.
  2. Choose the resources for each graph.
  3. Pick a time range, from 1 hour to 30 days.

Set it up

In the console

  1. Open Monitoring and choose This machine.
  2. Choose New dashboard to build your own.

With the CLI

enclave dashboard create health --widget "title=API CPU,metric=cpu,resources=app/api" --wait

With OpenTofu

OpenTofu configuration
resource "enclave_dashboard" "health" {
  name = "health"
  widgets = [
    { title = "API CPU", metric = "cpu", resources = ["app/api"] },
  ]
}

Settings reference

Every setting and output of the OpenTofu resource; the console and the CLI use the same names in their own words. Generated from platform 4d30582.

enclave_dashboard
NameTypeUseWhat it does
nametextrequiredName of the dashboard: 3–40 lowercase letters, digits or hyphens, starting with a letter. Changing it replaces the dashboard.
widgetslist of objectsrequired1–24 graphs, in order.
projecttextoptionalThe project to create it in. Defaults to the provider's project (ENCLAVE_PROJECT, else default). Changing it replaces the resource.
idtextoutputResource ID.

Limits and security

Good to know

  • Up to eight resources per graph.

Security

  • Metrics follow project roles like everything else.