Skip to content

feat: add observoor role and ethereum_node addon#508

Open
qu0b wants to merge 1 commit intomasterfrom
qu0b/add-observoor-role
Open

feat: add observoor role and ethereum_node addon#508
qu0b wants to merge 1 commit intomasterfrom
qu0b/add-observoor-role

Conversation

@qu0b
Copy link
Member

@qu0b qu0b commented Feb 26, 2026

Summary

  • Add new observoor role for deploying the observoor eBPF agent as a Docker container
  • Integrate observoor as an addon in the ethereum_node role via ethereum_node_observoor_enabled
  • Observoor connects to the beacon node for slot timing, discovers Ethereum processes via host PID namespace, and attaches eBPF tracepoints at the kernel level to export aggregated metrics to ClickHouse

Role details

  • Runs as a privileged container with pid_mode: host for process discovery and eBPF
  • Mounts /sys/kernel/debug, /sys/fs/bpf, /proc, /sys/kernel/btf for kernel access
  • Joins the shared Docker network so it can resolve the beacon container by name
  • Config is templated with observoor_cl_endpoint, observoor_meta_client_name, observoor_meta_network_name, and ClickHouse settings

ethereum_node integration

  • Addon file maps ethereum_node_cl_beacon_endpoint and ethereum_node_docker_networks
  • Enable with ethereum_node_observoor_enabled: true

Test plan

  • Deploy with ethereum_node_observoor_enabled: true against a running ethereum_node
  • Verify observoor container starts and discovers EL/CL PIDs
  • Verify beacon API connectivity (genesis fetch, sync polling)
  • Verify ClickHouse export when configured
  • Test cleanup path with ethereum_node_observoor_enabled: false

Add a new role for deploying observoor, an eBPF agent that monitors
Ethereum EL/CL processes at the kernel level. Integrate it as an
addon in the ethereum_node role.

The role runs observoor as a privileged Docker container with host PID
namespace for process discovery and kernel tracepoint attachment. It
connects to the beacon node for slot timing and exports aggregated
metrics to ClickHouse.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant