https://github.com/sshehrozali/kubetracer
kubetracer: sidecarless, node-level network monitoring for high-performance HTTP observability
https://github.com/sshehrozali/kubetracer
ethernet go golang http https ip kernel kuberenetes kubernetes kubernetes-monitoring linux network-interface-card nic observability tcp tls traces virtual-machines
Last synced: about 10 hours ago
JSON representation
kubetracer: sidecarless, node-level network monitoring for high-performance HTTP observability
- Host: GitHub
- URL: https://github.com/sshehrozali/kubetracer
- Owner: sshehrozali
- License: apache-2.0
- Created: 2026-01-15T14:20:48.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-04T12:50:53.000Z (about 1 month ago)
- Last Synced: 2026-05-04T14:33:10.941Z (about 1 month ago)
- Topics: ethernet, go, golang, http, https, ip, kernel, kuberenetes, kubernetes, kubernetes-monitoring, linux, network-interface-card, nic, observability, tcp, tls, traces, virtual-machines
- Language: Go
- Homepage:
- Size: 21.9 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
- Security: SECURITY.md
- Maintainers: MAINTAINERS.md
Awesome Lists containing this project
README
# KubeTracer
KubeTracer is a high-performance, cloud-native network monitor designed for transparent visibility into HTTP/gRPC traffic across Kubernetes nodes. Unlike proxy-based service meshes, KubeTracer operates with zero sidecars, requires no application restarts, and ensures near-zero overhead on your application pods.
By tapping the host network interface, KubeTracer reconstructs TCP streams and logs live traffic—useful for debugging distributed systems and monitoring inter-service communication.
## Repository layout
| Path | Purpose |
|------|---------|
| [`cmd/kubetracer`](cmd/kubetracer) | Main entrypoint |
| [`internal/kubetracer`](internal/kubetracer) | Capture and TCP assembly logic |
| [`deploy/kind`](deploy/kind) | [kind](https://kind.sigs.k8s.io/) cluster config and demo workloads |
| [`deploy/manifests`](deploy/manifests) | Example DaemonSet manifests (registry / local variants) |
| [`deploy/examples`](deploy/examples) | Optional load-test manifests |
| [`hack`](hack) | Development scripts (e.g. local kind provisioning) |
| [`docs`](docs) | Supplementary documentation |
Contributing, license, and security reporting: see [`CONTRIBUTING.md`](CONTRIBUTING.md), [`LICENSE`](LICENSE), and [`SECURITY.md`](SECURITY.md).
## Quick start
### Prerequisites
- [Docker](https://www.docker.com/)
- [kind](https://kind.sigs.k8s.io/)
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
### Setup
```bash
make kind-up
# or: ./hack/setup-kind.sh
```
### Test
```bash
# External traffic
curl http://localhost:32407
# Pod-to-pod traffic
kubectl exec -l app=curl -- curl -s http://10.244.1.2
# View logs
kubectl logs -l name=kubetracer --follow
```
### Cleanup
```bash
kind delete cluster
```
## Packet layout reference
For manual inspection of raw frames (Ethernet through TCP), see [docs/packet-offsets.md](docs/packet-offsets.md).