Edge Delta Metrics Explorer

Explore metrics in the Edge Delta web application.

Overview

The Metrics - Explorer page displays the outputs and values of all metrics ingested and created by Edge Delta, including Kubernetes scraped metrics, metric processing nodes, metric input nodes, and derived metrics.

Metrics have the following prerequisites:

  1. To ingest Kube State Metrics, KSM must be deployed in the same cluster as the Edge Delta agent.
  2. To ingest node-exporter metrics, node-exporter must be deployed in the same cluster as the Edge Delta agent.
  3. All metric processing nodes, such as logs to metrics nodes, must be connected to the Metrics Output node.

The Edge Delta agent uses eBPF to collect network metrics. Therefore, the following Kubernetes environment configuration is required for Kubernetes network metrics and eBPF to work:

  • Linux kernel version 5.8 or later.
  • Linux kernel built with the CONFIG_DEBUG_INFO_BTF=y and CONFIG_DEBUG_INFO_BTF_MODULES=y flags.

To check for the flag:

docker run -it --rm --privileged --pid=host ubuntu nsenter -t 1 -m -u -n -i sh -c 'cat /proc/config.gz | gunzip | grep CONFIG_DEBUG_INFO_BTF'

The output should show CONFIG_DEBUG_INFO_BTF=y and CONFIG_DEBUG_INFO_BTF_MODULES=y.

In the case of minikube, the agent can run on minikube with the Docker driver. Docker must be at least v26.0.0 (Docker Desktop v4.29.0) and it is started as follows:

minikube start --driver docker

If you want to disable eBPF:

  1. Delete the Kubernetes Traffic Input node.
  2. Disable the tracer:

Helm Rerun the Helm upgrade command with the --set tracerProps.enabled=false flag.

Kubectl Update and re-apply the kubernetes manifest with the following parameter change:

ED_ENABLE_TRAFFIC_TRACER = "0"

Metrics

Choose a source of Metrics (such as an Agent Tag) and select a specific metric for viewing. Then choose the aggregation type, the Metrics time window, and a grouping.

Note: The types of metrics available in the Metrics window will depend on what Input sources you’ve configured for Metrics ingestion. For example, if you have deployed a Kubernetes Metrics Input Node in a particular Agent Tag configuration then you should see the Kubernetes metrics available in the Metric Name dropdown box, such as ed_k8s_metric_container_network_receive_packets. For a complete list of Kubernetes metrics ingested by the Edge Delta agent, please see the kubernetes metrics input node.

Filter Pane

You can filter data using the Filters pane:

  • Agent Tag
  • Source Type
  • Kubernetes Resource Types

Group by

You can group the graph by any of the facets listed in the Filter Pane using the Group By option. For example, you may want to see a particular metric from all hosts on a single graph.

Add Facet

If the metric you select has multiple dimensions you can create a custom facet to group by. For example, suppose you have a log to metric node that captures the average latency per HTTP method and generates a metric like the following:

{
  "_stat_type": "avg"
  "_type": "metric"
  "attributes": {
    "method": "GET"
  }
  "gauge": {
    "value": 1051
  }
  "kind": "gauge"
  "name": "latency_per_method_latency.avg"
  "resource": {...}
  "start_timestamp": 1714124367305
  "timestamp": 1714124427305
  "unit": "1"
}

The dimension method is captured as an attribute, and in this instance the average latency is for the GET method.

  1. Click the three dots on a facet group and select Create Facet.
  1. Specify the dimension name prefixed with an @ character, in this instance @method.

You can now select the facet in the Group By list, and you can filter by the facet in the Filters pane.

Create a Monitor

You can create a monitor alert based on the selected filters. Click Create Monitor. Metric Alerts will be available in the Monitors tab in the Edge Delta UI and appear as type metric-alert.