# Metrics v1.8.4

Edera metrics are currently in **Alpha**. New metrics are expected to be added, and existing metrics are subject to change.

## Collect metrics

Edera exposes a set of metrics to provide an overview of the health and performance of Edera and the infrastructure it runs on. These metrics are exposed in the Prometheus format, by default on `http://127.0.0.1:3035/`. If an alternative address is preferred, it can be provided to the `metrics-http-listen-addr` flag on the `protect-orchestrator` service.

Metrics can be viewed directly via their respective endpoint or scraped by third-party tooling.

There are three endpoints exposing different categories of metrics from Edera:

### System metrics

System metrics are hosted at `/metrics` and include the following metrics:

#### Host metrics

Host metrics encapsulates metrics obtained from the host of Edera, also referred to as `dom0`.

| Metric | Description | Type | Labels |
| --- | --- | --- | --- |
| `host_cpu_usage_percent` | CPU usage in percent, in the range 0-100. | `gauge` | `cpu` |
| `host_cpu_usage_seconds_total` | CPU time used, in seconds, per cpu, per mode. | `counter` | `cpu`, `mode` |
| `host_memory_total_bytes` | Total number of bytes of memory allocated to the host. | `gauge` |  |
| `host_memory_free_bytes` | Number of bytes of memory allocated to the host and currently unused. | `gauge` |  |
| `host_memory_used_bytes` | Number of bytes of memory allocated to the host and currently in use. | `gauge` |  |
| `daemon_zones` | Current number of zones, per state. | `gauge` | `state` |

#### Health check metrics

Health check metrics encapsulates metrics which provide an insight into the health of Edera services.

| Metric | Description | Type | Labels |
| --- | --- | --- | --- |
| `health_check_total` | Total number of health checks performed, labeled by service and result status (success or failure). | `counter` | `service`, `status` |

### Zone metrics

Zone metrics are exposed in two flavors: Edera Zone metrics and Kubernetes metrics. Though the exposed metrics are the same, the filtering and labeling differ for their respective contexts.

#### Edera Zone metrics

Edera Zone metrics are hosted at `/metrics/resource`. Edera Zone metrics include metrics for all Zones, regardless of how the Zone was created.

##### Zone metrics

Zone metrics encapsulates metrics obtained from an Edera Zone.

| Metric | Description | Type | Labels |
| --- | --- | --- | --- |
| `zone_cpu_usage_percent` | CPU usage in percent, in the range 0-100. | `gauge` | `cpu`, `zone_id` |
| `zone_cpu_usage_seconds_total` | CPU time used, in seconds, per cpu. | `counter` | `cpu`, `zone_id` |
| `zone_create_timestamp_milliseconds` | Time when zone was created as a Unix timestamp with millisecond resolution. | `gauge` | `zone_id` |
| `zone_memory_total_bytes` | Total number of bytes of memory allocated to the zone. | `gauge` | `zone_id` |
| `zone_memory_free_bytes` | Number of bytes of memory allocated to the zone and currently unused. | `gauge` | `zone_id` |
| `zone_memory_used_bytes` | Number of bytes of memory allocated to the zone and currently in use. | `gauge` | `zone_id` |
| `zone_ready_timestamp_milliseconds` | Time when a zone is ready for use as a Unix timestamp with millisecond resolution. | `gauge` | `zone_id` |

###### Hypervisor metrics

Hypervisor metrics encapsulates metrics obtained from the hypervisor of an Edera zone.

| Metric | Description | Type | Labels |
| --- | --- | --- | --- |
| `zone_hypervisor_cpu_usage_seconds_total` | CPU time used, in seconds, per zone. | `counter` | `zone_id` |
| `zone_hypervisor_memory_max_bytes` | Maximum memory allowed, in bytes, per zone. | `gauge` | `zone_id` |
| `zone_hypervisor_memory_total_bytes` | Total memory currently allocated, in bytes, per zone. | `gauge` | `zone_id` |
| `zone_hypervisor_memory_outstanding_bytes` | Memory owed but not yet allocated, in bytes, per zone. | `gauge` | `zone_id` |
| `zone_hypervisor_vcpus_online` | Number of virtual CPUs currently online, per zone. | `gauge` | `zone_id` |

#### Kubernetes Zone metrics

Kubernetes Zone metrics are hosted at `/metrics/kubernetes`. Kubernetes Zone metrics include metrics only for Zones that were launched by Kubernetes and include labeling that correlates the Zone to Kubernetes Namespaces and Pods.

##### Zone metrics

Zone metrics encapsulates metrics obtained from an Edera Zone.

| Metric | Description | Type | Labels |
| --- | --- | --- | --- |
| `zone_cpu_usage_percent` | CPU usage in percent, in the range 0-100. | `gauge` | `cpu`, `zone_id`, `namespace`, `pod` |
| `zone_cpu_usage_seconds_total` | CPU time used, in seconds, per cpu. | `counter` | `cpu`, `zone_id`, `namespace`, `pod` |
| `zone_create_timestamp_milliseconds` | Time when zone was created as a Unix timestamp with millisecond resolution. | `gauge` | `zone_id`, `namespace`, `pod` |
| `zone_memory_total_bytes` | Total number of bytes of memory allocated to the zone. | `gauge` | `zone_id`, `namespace`, `pod` |
| `zone_memory_free_bytes` | Number of bytes of memory allocated to the zone and currently unused. | `gauge` | `zone_id`, `namespace`, `pod` |
| `zone_memory_used_bytes` | Number of bytes of memory allocated to the zone and currently in use. | `gauge` | `zone_id`, `namespace`, `pod` |
| `zone_ready_timestamp_milliseconds` | Time when a zone is ready for use as a Unix timestamp with millisecond resolution. | `gauge` | `zone_id`, `namespace`, `pod` |

###### Hypervisor metrics

Hypervisor metrics encapsulates metrics obtained from the hypervisor of an Edera zone.

### Label examples

Exposed metrics may contain labels, which provides additional context, such as the zone a metric is being populated from, and allows for more detailed querying and filtering.

| Label | Description | Example |
| --- | --- | --- |
| `cpu` | Name of the CPU. | `cpu="cpu1"` or `cpu="1"` |
| `namespace` | Name of the Kubernetes namespace the zone is in. | `namespace="default"` |
| `pod` | Kubernetes pod ID the zone is related to. | `pod="nginx-deployment-7d6c54b4c6-g84cl"` |
| `mode` | Mode of the CPU. | `mode="idle"` or `mode="user"` |
| `service` | Name of the Edera service. | `service="protect-cri"` or `service="protect-daemon"` |
| `state` | State of the Edera zone. | `state="ready"` or `state="failed"` |
| `status` | Status returned from the Edera service during a health check. | `status="success"` or `status="failed"` |
| `zone_id` | ID of the Edera zone. | `zone_id="7568edad-3a34-47e3-b605-36ede54a9aab"` |

Last updated on 2026-06-24.
