Blog Post

Azure Networking Blog
2 MIN READ

Cut the Noise & Cost with Container Network Metrics Filtering in ACNS for AKS

KhushbuP's avatar
KhushbuP
Icon for Microsoft rankMicrosoft
Nov 08, 2025

We’re excited to introduce Container Network Metrics Filtering in Azure Container Networking Services (ACNS) for Azure Kubernetes Service (AKS) is now in Public Preview! This capability transforms how you manage network observability in Kubernetes clusters by giving you control over what metrics matter most.


Why Excessive Metrics Are a Problem (And How We’re Fixing It)

In today’s large-scale, microservices-driven environments, teams often face metrics bloat, Bollecting far more data than they need. The result?

  • High Storage & Ingestion Costs: Paying for data you’ll never use.
  • Cluttered Dashboards: Hunting for critical latency spikes in a sea of irrelevant pod restarts.
  • Operational Overhead: Slower queries, higher maintenance, and fatigue.

Our new filtering capability solves this by letting you define precise filters at the pod level using standard Kubernetes Custom Resources. You collect only what matters, before it ever reaches your monitoring stack.


Key Benefits: Signal Over Noise

BenefitYour Gain
Fine-Grained ControlFilter by namespace or pod label. Target critical services and ignore noise.
Cost OptimizationReduce ingestion costs for Prometheus, Grafana, and other tools.
Improved ObservabilityCleaner dashboards and faster troubleshooting with relevant metrics only.
Dynamic & Zero-DowntimeApply or update filters without restarting Cilium agents or Prometheus.

How It Works: Filtering at the Source

Unlike traditional sampling or post-processing, filtering happens at the Cilium agent level—inside the kernel’s data plane.

You define filters using the ContainerNetworkMetric Custom Resource to include or exclude metrics such as:

  • DNS lookups
  • TCP connection metrics
  • Flow metrics
  • Drop (error) metrics

This reduces data volume before metrics leave the host, ensuring your observability tools receive only curated, high-value data.


Example: Filtering Flow Metrics to Reduce Noise

Here’s a sample ContainerNetworkMetric CRD that filters only dropped flows from the traffic/http namespace and excludes flows from traffic/fortio pods:

apiVersion: acn.azure.com/v1alpha1
kind: ContainerNetworkMetric
metadata:
  name: container-network-metric
spec:
  filters:
    - metric: flow
      includeFilters:
        # Include only DROPPED flows from traffic namespace
        verdict:
          - "dropped"
        from:
          namespacedPod:
            - "traffic/http"
      excludeFilters:
        # Exclude traffic/fortio flows to reduce noise
        from:
          namespacedPod:
            - "traffic/fortio"

Before Filtering

 

 

After Applying Filters

 


Getting Started Today

Ready to simplify your network observability?

  1. Enable ACNS: Make sure ACNS is enabled on your AKS cluster.
  2. Define Your Filter: Apply the ContainerNetworkMetric CRD with your include/exclude rules.
  3. Validate: Check your settings via ConfigMap and Cilium agent logs.
  4. See the Impact: Watch ingestion costs drop and dashboards become clearer!

👉 Learn more in the Metrics Filtering Guide.

Try the Public Preview today and take control of your container network metrics.

Updated Nov 08, 2025
Version 1.0
No CommentsBe the first to comment