5-Minute Quickstart

Get Qtap running in 5 minutes with console output - perfect for a fast preview of Qtap's capabilities.

Who This Is For

Use this guide if you want to:

  • Preview Qtap's traffic capture quickly without complex setup

  • See immediate console output (no storage configuration needed)

  • Understand basic Qtap concepts before diving deeper

  • Test if Qtap works on your system

This is NOT for:

Time to complete: 5 minutes

What you'll get: Real-time visibility into HTTP/HTTPS traffic with console output


This is a simple configuration to get started with Qtap without any external dependencies. Everything outputs to your console for immediate visibility.

Quick Start Configuration

Save this as qtap-starter.yaml:

Running the Starter Config

Quick Test

Testing Your Configuration

Once QTap is running, test it with some HTTP requests on the same host:

You should see output in your QTap terminal showing the captured traffic.

Configuration Variations

Variation 1: Capture Everything (Including Bodies)

Variation 2: With Filtering Rules

Variation 3: Using access_logs Plugin

Understanding the Output

With http_capture plugin (text format):

With http_capture plugin (json format):

With access_logs plugin:

Troubleshooting

Quick Checklist: Not Working?

Use this checklist to diagnose common issues:

No Output Appearing

Symptom: Qtap is running but no traffic is captured

Solutions:

  1. Check for errors in debug mode:

    Look for messages like "attached to process" or "http capture"

  2. Verify traffic is being generated:

  3. Check process attribution:

  4. Verify eBPF hooks:

Common causes:

  • Qtap started AFTER traffic was generated (restart qtap, then generate traffic)

  • Process doesn't use standard TLS libraries (OpenSSL, BoringSSL, GnuTLS)

  • Traffic is going through a proxy that qtap isn't monitoring

Too Much Output

Symptom: Overwhelming amount of captured traffic

Solution: Add filters to ignore noisy processes:

Common noisy processes:

  • Monitoring agents (Prometheus, Datadog, New Relic)

  • Log shippers (Fluent Bit, Logstash)

  • Kubernetes system components

  • Container runtime health checks

Wrong Traffic Direction

Symptom: Expected traffic not appearing

Solution: Choose the correct direction:

  • egress: Outgoing traffic from your system (e.g., curl making requests)

  • ingress: Incoming traffic to your services (e.g., web server receiving requests)

  • all: Both directions

Examples:

  • Testing with curl → use egress

  • Monitoring NGINX web server → use ingress

  • Capturing both client and server traffic → use all

Protocol Shows as "other" Instead of "http"

Symptom: Traffic captured but not parsed as HTTP

Possible causes:

  1. HTTP/3 (QUIC): Not yet supported - shows as "other"

  2. Non-standard TLS library: Qtap supports OpenSSL, BoringSSL, GnuTLS

  3. Binary protocol: Not HTTP traffic (database protocols, gRPC, etc.)

How to verify:

Still Having Issues?

What's Next?

Now that you've confirmed Qtap is capturing traffic, choose your next step based on your goals:

For Production Deployment

Follow the progressive tutorial with real-world examples:

For Specific Use Cases

For Configuration Details

Quick Improvements to This Setup

  1. Add error-only capture - Reduce volume by only capturing errors:

  2. Add process filtering - Ignore noisy processes:

  3. Switch to JSON - For easier parsing and integration:

Minimal Test Config

The absolute minimum config to see if QTap works:

Save as test.yaml and run:

Then in another terminal on same host:

You should immediately see the captured request in your QTap terminal.

Last updated