Metrics v1.8.4
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 by 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 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.
| 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 |
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" |