ethpandaops / ethereum-package

A Kurtosis package that deploys a private, portable, and modular Ethereum devnet
MIT License
241 stars 135 forks source link

Add working node exporter to the default dashboards list of the package #764

Open parithosh opened 1 month ago

barnabasbusa commented 3 weeks ago

cadvisor is probably the route to go instead of node exporter.

barnabasbusa commented 3 weeks ago

Currently the blocker on this is the fact that you can't mount local volumes inside the enclave unless its an artifact.

Hence mounting the docker.sock inside cadvisor is not possible. How to run cadvisor:

docker run -d --name=cadvisor \
  -p 8080:8080 \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/var/run/docker.sock:/var/run/docker.sock:ro \
  google/cadvisor:latest

How I would ideally want to run cadvisor inside the ethereum package:

    files = {
        "/var/run/docker.sock":"/var/run/docker.sock"
    }

    config = ServiceConfig(
        image=IMAGE_NAME,
        ports=USED_PORTS,
        public_ports=public_ports,
        node_selectors=global_node_selectors,
        files=files,
    )

Error message:

Error while validating instruction add_service(name="cadvisor", config=ServiceConfig(image="gcr.io/cadvisor/cadvisor:v0.38.7", ports={"http": PortSpec(number=8080, transport_protocol="TCP", application_protocol="http")}, public_ports={}, files={"/var/run/docker.sock": "/var/run/docker.sock"}, node_selectors={})). The instruction can be found at github.com/ethpandaops/ethereum-package/src/cadvisor/cadvisor_launcher.star[41:21]
        Caused by: There was an error validating 'add_service' as artifact name '/var/run/docker.sock' does not exist