SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Go Ebpf Projects
-
ebpf
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
coroot
Coroot is an open-source APM & Observability tool, a DataDog and NewRelic alternative 📊, 🖥️, 👉. Powered by eBPF for rapid insights into system performance. Monitor, analyze, and optimize your infrastructure effortlessly for peak reliability at any scale.
-
odigos
Distributed tracing without code changes. 🚀 Instantly monitor any application using OpenTelemetry and eBPF
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
KubeArmor
Runtime Security Enforcement System. Workload hardening/sandboxing and implementing least-permissive policies made easy leveraging LSMs (BPF-LSM, AppArmor).
-
kepler
Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, use ML models to estimate workload energy consumption based on these stats, and exports them as Prometheus metrics (by sustainable-computing-io)
-
parca-agent
eBPF based always-on profiler auto-discovering targets in Kubernetes and systemd, zero code changes or restarts needed!
-
eBPF-Guide
eBPF (extended Berkeley Packet Filter) Guide. Learn all about the eBPF Tools and Libraries for Security, Monitoring , and Networking.
-
btfhub
BTFhub, in collaboration with the BTFhub Archive repository, supplies BTF files for all published kernels that lack native support for embedded BTF. This joint effort ensures that even kernels without built-in BTF support can effectively leverage the benefits of eBPF programs, promoting compatibility across various kernel versions.
-
nhi
:tv: Automatically capture all potentially useful information about each executed command (as well as its output) and get powerful querying mechanism
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Cisco to Acquire Cloud Native Networking and Security Leader Isovalent | news.ycombinator.com | 2023-12-21They would have had to add a few externals to get to Graduated but it's definitely a minority:
https://github.com/cilium/cilium/blob/main/MAINTAINERS.md
Oh, no I don't mean that arbitrary Go compiles to eBPF. Apologies if I gave that impression. I meant that there are libraries that let you compose eBPF programs in other languages. But you're still putting together an eBPF program, just like you can assemble JSON with Go but you can't compile an arbitrary Go program to JSON.
Cilium's eBPF library is the Go one I had in mind: https://github.com/cilium/ebpf
Here's an example from that repo: https://github.com/cilium/ebpf/tree/main/examples/ringbuffer
Project mention: Coroot: Open-source alternative to Datadog/NewRelic | news.ycombinator.com | 2024-04-24
Welcome 👋 to this blog. Did you want to use odigos on your Ubuntu machine but don't know how to start? Then this blog will definitely help you and it also helps you to understand the basic aspect of the odigos project.
Project mention: A Linux high-performance transparent proxy solution based on eBPF | news.ycombinator.com | 2024-01-09
Project mention: Requirement for cross-cluster communication in Kubernetes (K8s) | /r/kubernetes | 2023-12-08Feel free to take a look at this project
If that's true, you should probably update the docs. Everything I could find implied dotnet, jvm, python were still unsupported. For example, the roadmap section of the readme mentions most of these but nothing mentions dotnet. However I did find your tickets and a demo being merged in which makes it seem maybe supported?
Ticket: https://github.com/parca-dev/parca-agent/issues/161
Demo: https://github.com/parca-dev/parca-demo/pull/18
Project mention: Grant Kubernetes Pods Access to AWS Services Using OpenID Connect | dev.to | 2024-04-22resource "tls_private_key" "this" { algorithm = "ECDSA" ecdsa_curve = "P384" } resource "hcloud_ssh_key" "this" { name = var.stack_name public_key = tls_private_key.this.public_key_openssh } resource "hcloud_server" "this" { name = var.stack_name server_type = "cax11" image = "ubuntu-22.04" location = "nbg1" ssh_keys = [ hcloud_ssh_key.this.id, ] public_net { ipv4 = hcloud_primary_ip.this["ipv4"].id ipv6 = hcloud_primary_ip.this["ipv6"].id } user_data = <<-EOF #cloud-config users: - name: ${var.username} groups: users, admin, adm sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash ssh_authorized_keys: - ${tls_private_key.this.public_key_openssh} packages: - certbot package_update: true package_upgrade: true runcmd: - sed -i -e '/^\(#\|\)PermitRootLogin/s/^.*$/PermitRootLogin no/' /etc/ssh/sshd_config - sed -i -e '/^\(#\|\)PasswordAuthentication/s/^.*$/PasswordAuthentication no/' /etc/ssh/sshd_config - sed -i '$a AllowUsers ${var.username}' /etc/ssh/sshd_config - | curl https://get.k3s.io | \ INSTALL_K3S_VERSION="v1.29.3+k3s1" \ INSTALL_K3S_EXEC="--disable traefik --kube-apiserver-arg=service-account-jwks-uri=https://${cloudflare_record.this.name}/openid/v1/jwks --kube-apiserver-arg=service-account-issuer=https://${cloudflare_record.this.name} --disable-network-policy --flannel-backend none --write-kubeconfig /home/${var.username}/.kube/config --secrets-encryption" \ sh - - chown -R ${var.username}:${var.username} /home/${var.username}/.kube/ - | CILIUM_CLI_VERSION=v0.16.4 CLI_ARCH=arm64 curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/$CILIUM_CLI_VERSION/cilium-linux-$CLI_ARCH.tar.gz{,.sha256sum} sha256sum --check cilium-linux-$CLI_ARCH.tar.gz.sha256sum sudo tar xzvfC cilium-linux-$CLI_ARCH.tar.gz /usr/local/bin - kubectl completion bash | tee /etc/bash_completion.d/kubectl - k3s completion bash | tee /etc/bash_completion.d/k3s - | cat << 'EOF2' >> /home/${var.username}/.bashrc alias k=kubectl complete -F __start_kubectl k EOF2 - reboot EOF }
Go Ebpf related posts
-
Setup odigos in Ubuntu
-
A Linux high-performance transparent proxy solution based on eBPF
-
Dae – A Linux high-performance transparent proxy solution based on eBPF
-
Requirement for cross-cluster communication in Kubernetes (K8s)
-
Open Source Distributed Tracing Through eBPF
-
Architecting for Resilience: Crafting Opinionated EKS Clusters with Karpenter & Cilium Cluster Mesh — Part 1
-
Odigos v0.1.82 - Open-source instant distributed tracing without code changes
-
A note from our sponsor - SaaSHub
www.saashub.com | 21 May 2024
Index
What are some of the best open-source Ebpf projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | cilium | 18,720 |
2 | ebpf | 5,805 |
3 | coroot | 4,189 |
4 | tetragon | 3,332 |
5 | tracee | 3,287 |
6 | odigos | 3,043 |
7 | skydive | 2,599 |
8 | dae | 2,465 |
9 | ebpf_exporter | 2,043 |
10 | kubectl-trace | 1,979 |
11 | caretta | 1,713 |
12 | KubeArmor | 1,284 |
13 | loxilb | 1,188 |
14 | goebpf | 1,098 |
15 | kepler | 1,012 |
16 | libbpfgo | 673 |
17 | parca-agent | 494 |
18 | eBPF-Guide | 471 |
19 | go-tc | 411 |
20 | cilium-cli | 372 |
21 | btfhub | 333 |
22 | nhi | 291 |
23 | coroot-node-agent | 280 |
Sponsored