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:
Production deployments (use Complete Guide instead)
Long-term traffic storage (add S3 configuration later)
Multi-environment management (consider Qplane)
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):
http_capture plugin (text format):With http_capture plugin (json format):
http_capture plugin (json format):With access_logs plugin:
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:
Check for errors in debug mode:
Look for messages like "attached to process" or "http capture"
Verify traffic is being generated:
Check process attribution:
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
egressMonitoring NGINX web server → use
ingressCapturing both client and server traffic → use
all
Protocol Shows as "other" Instead of "http"
Symptom: Traffic captured but not parsed as HTTP
Possible causes:
HTTP/3 (QUIC): Not yet supported - shows as "other"
Non-standard TLS library: Qtap supports OpenSSL, BoringSSL, GnuTLS
Binary protocol: Not HTTP traffic (database protocols, gRPC, etc.)
How to verify:
Still Having Issues?
Check system requirements: System Requirements
Run preflight check:
curl -sSL https://github.com/qpoint-io/preflight/releases/latest/download/preflight.sh | sudo bashSee detailed troubleshooting: Troubleshooting Guide
Review healthy capture patterns: What a Healthy Capture Looks Like
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:
Complete Guide: Hello World to Production - 50-minute tutorial covering rules, filtering, S3 storage, and production deployment
For Specific Use Cases
Web servers (NGINX, Caddy, etc.): NGINX Traffic Capture
Ingress traffic: Ingress Traffic Capture
Production debugging: Production Debugging with HTTPS Visibility
For Configuration Details
Add S3 storage: Storage Configuration
Add filtering rules: Traffic Capture Settings
Understand plugins: Traffic Processing with Plugins
See more examples: Configuration Examples
Quick Improvements to This Setup
Add error-only capture - Reduce volume by only capturing errors:
Add process filtering - Ignore noisy processes:
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