OTEL Collectors (Early Access)


The Service Proxy for Kubernetes (SPK) Open Telemetry (OTEL) collectors gather metrics and statistics such as CPU, memory, disk, virtual server, and network interface usage from the Controller and Traffic Management Microkernel (TMM) Pods. The OTEL collectors integrate with third-party data collection software such as Prometheus to visualize Pod health using applications such as Grafana.

_images/spk_info.png Note: The SPK 1.5 OTEL release is considered Early Access (EA). EA features are unsupported, and are made available to get customer feedback on feature functionality and stability.

This document guides you through enabling and configuring the SPK OTEL collectors.

OTEL Pod and container

SPK implements two OTEL Collectors; One collector runs as a standalone Pod, gathering metrics and statistics from TMM, and the other collector runs as a sidecar in the Controller Pod, collecting host metrics and statistics directly from the Controller.

_images/spk_info.png Note: The TMM collector is implemented as a separate Pod to optimize 5G application performance.

TMM OTEL Service

With OTEL enabled, a new Service object is created to receive data from the TMM Pod on TCP service port 4317, and forward the data to the OTEL collector Pod on the same service port.

Example OTEL Service:

Name:              otel-collector-svc
Namespace:         spk-utilities
Port:              otlp-grpc  4317/TCP

Fetching OTEL Data

Once the SPK Controller, TMM and OTEL Pods become available, data collectors such as Prometheus can begin fetching statistics on TCP service port 9090.

Metrics and statistics

The OTEL collectors gather the following metrics and statistics:

  • TMM: CPU and memory usage.
  • TMM Interface: Packets and bytes in/out.
  • TMM Virtual Servers: Bytes and packets in/out. Max and total connections.
  • TMM IP: All stats.
  • TMM ICMP: All stats.
  • TMM IPv6: All stats.
  • TMM IPv6 ICMP: All stats.
  • TMM Reset cause: All stats.
  • TMM VLAN Member: All stats.
  • Ingress: CPU and memory usage.
  • Ingress: Disk I/O.
  • Ingress: Disk operation time.


Prior to configuring OTEL, ensure you have:


Helm parameters

The following steps detail the Helm parameters required to enable the OTEL collection Pod, and how to verify the OTEL collectors status.

_images/spk_info.png Note: The OTEL ollectors are disabled by default.

  1. Add the Helm parameters below to the SPK Controller’s Helm values file, and modify the image.repository parameter for your internal image registry:

      # Enables the OTEL collection Pod.
        enabled: true               
        repository: "local.registry.com"
      # Enables the OTEL collection container.
        enabled: true              
        repository: "local.registry.com"
      enabled: true
      type: stdout
        host: "localhost"
        enabled: true
            repository: "local.registry.com"
          repository: "local.registry.com"
  2. Continue to the SPK CWC installation guide. If the CWC is installed, continue to the SPK Controller guide.

Pod Status

Use these steps to obtain the OTEL Pod status:

  1. Verify the TMM otel-collector Pod is Running:

    oc get pods -n spk-ingress | grep otel

    In this example, the OTEL Pod is Running.

    otel-collector-6d558c946b-8hvz5    1/1    Running   
  2. Verify the F5Ingress otel-collector container is Running:

    kubectl get pods -n spk-ingress | grep f5ingress

    In this example, all 4/4 containers are Running.

    f5ingress-f5ingress-5cbc875489-ngt9g   4/4     Running   0
  3. Data collectors can now fetch metrics from the Controller and TMM on service port 9090 in the spk-ingress Project.


Provide feedback to improve this document by emailing spkdocs@f5.com.