Metrics v1.8.4

4 min read


ℹ️
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 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.

MetricDescriptionTypeLabels
host_cpu_usage_percentCPU usage in percent, in the range 0-100.gaugecpu
host_cpu_usage_seconds_totalCPU time used, in seconds, per cpu, per mode.countercpu, mode
host_memory_total_bytesTotal number of bytes of memory allocated to the host.gauge
host_memory_free_bytesNumber of bytes of memory allocated to the host and currently unused.gauge
host_memory_used_bytesNumber of bytes of memory allocated to the host and currently in use.gauge
daemon_zonesCurrent number of zones, per state.gaugestate

Health check metrics

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

MetricDescriptionTypeLabels
health_check_totalTotal number of health checks performed, labeled by service and result status (success or failure).counterservice, 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.

MetricDescriptionTypeLabels
zone_cpu_usage_percentCPU usage in percent, in the range 0-100.gaugecpu, zone_id
zone_cpu_usage_seconds_totalCPU time used, in seconds, per cpu.countercpu, zone_id
zone_create_timestamp_millisecondsTime when zone was created as a Unix timestamp with millisecond resolution.gaugezone_id
zone_memory_total_bytesTotal number of bytes of memory allocated to the zone.gaugezone_id
zone_memory_free_bytesNumber of bytes of memory allocated to the zone and currently unused.gaugezone_id
zone_memory_used_bytesNumber of bytes of memory allocated to the zone and currently in use.gaugezone_id
zone_ready_timestamp_millisecondsTime when a zone is ready for use as a Unix timestamp with millisecond resolution.gaugezone_id
Hypervisor metrics

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

MetricDescriptionTypeLabels
zone_hypervisor_cpu_usage_seconds_totalCPU time used, in seconds, per zone.counterzone_id
zone_hypervisor_memory_max_bytesMaximum memory allowed, in bytes, per zone.gaugezone_id
zone_hypervisor_memory_total_bytesTotal memory currently allocated, in bytes, per zone.gaugezone_id
zone_hypervisor_memory_outstanding_bytesMemory owed but not yet allocated, in bytes, per zone.gaugezone_id
zone_hypervisor_vcpus_onlineNumber of virtual CPUs currently online, per zone.gaugezone_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.

MetricDescriptionTypeLabels
zone_cpu_usage_percentCPU usage in percent, in the range 0-100.gaugecpu, zone_id, namespace, pod
zone_cpu_usage_seconds_totalCPU time used, in seconds, per cpu.countercpu, zone_id, namespace, pod
zone_create_timestamp_millisecondsTime when zone was created as a Unix timestamp with millisecond resolution.gaugezone_id, namespace, pod
zone_memory_total_bytesTotal number of bytes of memory allocated to the zone.gaugezone_id, namespace, pod
zone_memory_free_bytesNumber of bytes of memory allocated to the zone and currently unused.gaugezone_id, namespace, pod
zone_memory_used_bytesNumber of bytes of memory allocated to the zone and currently in use.gaugezone_id, namespace, pod
zone_ready_timestamp_millisecondsTime when a zone is ready for use as a Unix timestamp with millisecond resolution.gaugezone_id, namespace, pod
Hypervisor metrics

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

MetricDescriptionTypeLabels
zone_hypervisor_cpu_usage_seconds_totalCPU time used, in seconds, per zone.counterzone_id
zone_hypervisor_memory_max_bytesMaximum memory allowed, in bytes, per zone.gaugezone_id
zone_hypervisor_memory_total_bytesTotal memory currently allocated, in bytes, per zone.gaugezone_id
zone_hypervisor_memory_outstanding_bytesMemory owed but not yet allocated, in bytes, per zone.gaugezone_id
zone_hypervisor_vcpus_onlineNumber of virtual CPUs currently online, per zone.gaugezone_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.

LabelDescriptionExample
cpuName of the CPU.cpu="cpu1" or cpu="1"
namespaceName of the Kubernetes namespace the zone is in.namespace="default"
podKubernetes pod ID the zone is related to.pod="nginx-deployment-7d6c54b4c6-g84cl"
modeMode of the CPU.mode="idle" or mode="user"
serviceName of the Edera service.service="protect-cri" or service="protect-daemon"
stateState of the Edera zone.state="ready" or state="failed"
statusStatus returned from the Edera service during a health check.status="success" or status="failed"
zone_idID of the Edera zone.zone_id="7568edad-3a34-47e3-b605-36ede54a9aab"
Last updated on