Script icon
Docker icon
If icon
SlackIncomingWebhook icon
Log icon
Return icon
Schedule icon

Pixie Vizier eBPF Telemetry Loss Sentinel

Scrapes Pixie Vizier metrics to detect eBPF buffer overflow, table drop rates, and missing telemetry before cluster observability fails.

Categories
CloudInfrastructure

Automates continuous health surveillance for Pixie Vizier eBPF kernel telemetry pipelines across enterprise Kubernetes clusters. The workflow queries Vizier Prometheus metrics to identify ring buffer overflows, table record drops, and edge query compilation stalls before distributed tracing and request telemetry degrade.

How it works

  1. A schedule trigger executes the Pixie Vizier health audit workflow every 15 minutes.
  2. The Python task queries the Vizier query broker Prometheus endpoint on port 8080.
  3. The script extracts dropped eBPF record counts, Stirling query execution latencies, and PEM agent health metrics.
  4. An evaluation gate determines whether dropped record volumes or Stirling query latency exceed enterprise reliability bounds.
  5. When eBPF buffer exhaustion is detected, a high-priority Slack incident alert is dispatched to SRE Observability engineers.
  6. When edge telemetry streams without dropped packets, nominal metrics are recorded in execution logs.
  7. A structured JSON audit manifest is emitted for observability compliance archives and SLO tracking systems.

Architecture diagram

graph TD
    Trigger[Schedule Trigger: 15m] --> ScanMetrics[Python Script: Scrape Vizier Metrics]
    ScanMetrics --> EvalBreach{Drops > 25 OR Latency > 1500ms OR Pressure > 0?}
    EvalBreach -- Yes --> SlackAlert[Slack: High-Urgency Incident Alert]
    EvalBreach -- No --> LogNominal[Log: Nominal Vizier State]
    SlackAlert --> EmitManifest[Debug Return: Telemetry Audit Manifest]
    LogNominal --> EmitManifest

Architecture components

  • Trigger: Automated schedule polling at 15-minute recurring intervals.
  • Script Task: Scrapes Vizier Prometheus metrics endpoints using Docker container runners.
  • Decision Gate: Evaluates whether dropped eBPF record counts or Stirling latency exceed limits.
  • Notification Task: Dispatches structured Slack alerts with affected table names and drop volumes.
  • Audit Manifest: Emits JSON execution payloads containing cluster eBPF health and timestamps.

Key capabilities

  • Continuous surveillance of Pixie Stirling eBPF probes capturing HTTP, gRPC, and TCP network transactions.
  • Early warning detection for ring buffer exhaustion under heavy microservice traffic spikes.
  • Automated tracking of PEM (Pixie Edge Module) agent daemonset memory pressure across cluster worker nodes.
  • Zero host dependency execution via isolated containerized Python runners.

What you get

  • Real-time visibility into Kubernetes in-kernel eBPF telemetry streaming health.
  • Proactive alerts preventing blind spots in distributed tracing and network performance monitoring.
  • Standardized audit manifests containing exact drop rates, query latency, and node pressure counts.
  • Zero-overhead deployment compatible with vanilla Kubernetes, OpenShift, EKS, and GKE clusters.

Who it's for

  • SRE and Observability teams relying on Pixie for automatic protocol tracing and service topology mapping.
  • Platform engineers managing high-density Kubernetes nodes with constrained memory budgets.
  • Infrastructure architects monitoring Linux kernel eBPF probe overhead and buffer sizing.
  • Cloud engineers maintaining real-time telemetry pipelines for mission-critical microservices.

Why orchestrate this with Kestra

  • Serverless Docker Isolation: Executes telemetry scraping in ephemeral Docker environments without persistent workers.
  • Centralized Secrets Governance: Protects sensitive Slack webhooks using encrypted namespace secrets.
  • Declarative YAML Workflows: Manages cluster observability surveillance as versioned code in Git repositories.
  • Comprehensive Audit History: Preserves historical eBPF telemetry performance in searchable Kestra execution logs.

Use cases

  • Network Traffic Spikes: Identifies HTTP and gRPC request drop spikes during promotional sale events.
  • Kernel Version Compatibility: Flags Stirling probe compilation failures following Linux kernel node upgrades.
  • Agent OOM-Kill Prevention: Alerts operators when Pixie PEM containers approach node memory thresholds.

Inputs

Name Type Default Description
vizier_metrics_url STRING http://vizier-query-broker.pl.svc.cluster.local:8080 Internal HTTP URL exposing Prometheus metrics for Vizier.
target_ebpf_table STRING http_events Target Pixie eBPF telemetry table monitored for drops.
max_records_dropped_threshold INT 25 Maximum allowable dropped records before alerting.
max_query_latency_ms_threshold INT 1500 Maximum acceptable Stirling query latency in milliseconds.
alert_on_collector_lag BOOL true Toggle whether PEM agent memory pressure triggers an alert.

Expected outputs

  • {{ outputs.scan_pixie_telemetry.vars.records_dropped_total }}: Total count of dropped eBPF records in the target table.
  • {{ outputs.scan_pixie_telemetry.vars.query_latency_ms }}: Measured Stirling query compilation and execution duration.
  • {{ outputs.scan_pixie_telemetry.vars.active_agents_count }}: Count of active Pixie Edge Module daemonset agents.
  • {{ outputs.scan_pixie_telemetry.vars.is_alerting }}: Boolean flag indicating if eBPF drop limits are breached.
  • {{ outputs.scan_pixie_telemetry.vars.audit_timestamp }}: ISO-8601 UTC timestamp of the Vizier telemetry audit run.

Prerequisites

  • Pixie Vizier deployed in the Kubernetes cluster with Prometheus metrics enabled.
  • Network connectivity from the Kestra worker to the Vizier query broker service.
  • Configured Slack incoming webhook URL with permissions to post in observability alert channels.

Secrets

  • SLACK_WEBHOOK_URL: Secure webhook URL for routing observability alerts to the SRE Slack channel.

Quick start

  1. Verify that Vizier query broker exposes Prometheus metrics on HTTP port 8080.
  2. Add the SLACK_WEBHOOK_URL secret within your Kestra namespace settings.
  3. Specify your target eBPF table in target_ebpf_table.
  4. Run a manual flow execution via the Kestra UI to validate metric ingestion.
  5. Enable the periodic_pixie_audit schedule trigger to establish automated monitoring.

Common pitfalls and troubleshooting

  • Linux Kernel BPF Lockdown: Stirling cannot attach uprobes if secure boot or kernel lockdown is enforced.
  • Table Ring Buffer Sizing: High-throughput clusters require larger PEM buffer allocation in Vizier Helm values.
  • Query Broker Timeout: Slow network connections between query broker and worker PEMs trigger false timeout alerts.
  • RBAC ClusterRole Permissions: Vizier pods require hostPID and privileged access to trace kernel tracepoints.

How to extend

  • Automated Buffer Resizing: Trigger Kestra Kubernetes task to patch PEM memory limits when drops persist.
  • PagerDuty Escalation: Escalate to on-call infrastructure engineers if dropped records exceed 1,000.
  • Multi-Table Scan: Expand script parameters to iterate across tcp_drop, dns_events, and jvm_stats.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.