diff --git a/.env.sample.holesky b/.env.sample.holesky index f1f4416..69123e1 100644 --- a/.env.sample.holesky +++ b/.env.sample.holesky @@ -176,10 +176,10 @@ CHARON_EXECUTION_CLIENT_RPC_ENDPOINT=http://${EL}:8545 # Loki log aggregation server addresses. Disable loki log aggregation by setting an empty address. #CHARON_LOKI_ADDRESSES= -# Charon Cluster Name. Mandatory to send logs with Promtail and metrics with Prometheus. +# Charon Cluster Name. Mandatory to send logs with Alloy and metrics with Prometheus. #CLUSTER_NAME="" -# Charon Cluster Peer. Mandatory to send logs with Promtail and metrics with Prometheus. +# Charon Cluster Peer. Mandatory to send logs with Alloy and metrics with Prometheus. #CLUSTER_PEER="" # Nickname to identify this charon node on monitoring (max 32 characters). @@ -262,23 +262,23 @@ LIDODVEXIT_EXIT_EPOCH=256 # Specify multiple discord IDs using comma separation. (e.g. `ALERT_DISCORD_IDS=123456789098765432,098765432123456789`) #ALERT_DISCORD_IDS="" -# Uncomment these if you have log exporting with Promtail +# Uncomment these if you have log exporting with Alloy # and want to disable log export on a particular container. -#EL_NETHERMIND_PROMTAIL_MONITORED=false -#EL_RETH_PROMTAIL_MONITORED=false -#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false -#CL_GRANDINE_PROMTAIL_MONITORED=false -#CL_TEKU_PROMTAIL_MONITORED=false -#CL_LODESTAR_PROMTAIL_MONITORED=false -#CHARON_PROMTAIL_MONITORED=false -#VC_LODESTAR_PROMTAIL_MONITORED=false -#VC_NIMBUS_PROMTAIL_MONITORED=false -#VC_PRYSM_PROMTAIL_MONITORED=false -#VC_TEKU_PROMTAIL_MONITORED=false -#MEV_MEV_BOOST_PROMTAIL_MONITORED=false -#MEV_COMMIT_BOOST_PROMTAIL_MONITORED=false -#EJECTOR_PROMTAIL_MONITORED=false -#DV_EXIT_PROMTAIL_MONITORED=false +#EL_NETHERMIND_ALLOY_MONITORED=false +#EL_RETH_ALLOY_MONITORED=false +#CL_LIGHTHOUSE_ALLOY_MONITORED=false +#CL_GRANDINE_ALLOY_MONITORED=false +#CL_TEKU_ALLOY_MONITORED=false +#CL_LODESTAR_ALLOY_MONITORED=false +#CHARON_ALLOY_MONITORED=false +#VC_LODESTAR_ALLOY_MONITORED=false +#VC_NIMBUS_ALLOY_MONITORED=false +#VC_PRYSM_ALLOY_MONITORED=false +#VC_TEKU_ALLOY_MONITORED=false +#MEV_MEV_BOOST_ALLOY_MONITORED=false +#MEV_COMMIT_BOOST_ALLOY_MONITORED=false +#EJECTOR_ALLOY_MONITORED=false +#DV_EXIT_ALLOY_MONITORED=false ######### Debug Config ######### diff --git a/.env.sample.hoodi b/.env.sample.hoodi index deffff8..e995921 100644 --- a/.env.sample.hoodi +++ b/.env.sample.hoodi @@ -176,11 +176,11 @@ CHARON_EXECUTION_CLIENT_RPC_ENDPOINT=http://${EL}:8545 # Loki log aggregation server addresses. Disable loki log aggregation by setting an empty address. #CHARON_LOKI_ADDRESSES= -# Charon Cluster Name. Mandatory to send logs with Promtail and metrics with Prometheus. -#CLUSTER_NAME="" +# Charon Cluster Name. Mandatory to send logs with Alloy and metrics with Prometheus. +#CLUSTER_NAME= -# Charon Cluster Peer. Mandatory to send logs with Promtail and metrics with Prometheus. -#CLUSTER_PEER="" +# Charon Cluster Peer. Mandatory to send logs with Alloy and metrics with Prometheus. +#CLUSTER_PEER= # Nickname to identify this charon node on monitoring (max 32 characters). #CHARON_NICKNAME="" @@ -268,23 +268,23 @@ LIDODVEXIT_EXIT_EPOCH=256 # Specify multiple discord IDs using comma separation. (e.g. `ALERT_DISCORD_IDS=123456789098765432,098765432123456789`) #ALERT_DISCORD_IDS="" -# Uncomment these if you have log exporting with Promtail +# Uncomment these if you have log exporting with Alloy # and want to disable log export on a particular container. -#EL_NETHERMIND_PROMTAIL_MONITORED=false -#EL_RETH_PROMTAIL_MONITORED=false -#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false -#CL_GRANDINE_PROMTAIL_MONITORED=false -#CL_TEKU_PROMTAIL_MONITORED=false -#CL_LODESTAR_PROMTAIL_MONITORED=false -#CHARON_PROMTAIL_MONITORED=false -#VC_LODESTAR_PROMTAIL_MONITORED=false -#VC_NIMBUS_PROMTAIL_MONITORED=false -#VC_PRYSM_PROMTAIL_MONITORED=false -#VC_TEKU_PROMTAIL_MONITORED=false -#MEV_MEV_BOOST_PROMTAIL_MONITORED=false -#MEV_COMMIT_BOOST_PROMTAIL_MONITORED=false -#EJECTOR_PROMTAIL_MONITORED=false -#DV_EXIT_PROMTAIL_MONITORED=false +#EL_NETHERMIND_ALLOY_MONITORED=false +#EL_RETH_ALLOY_MONITORED=false +#CL_LIGHTHOUSE_ALLOY_MONITORED=false +#CL_GRANDINE_ALLOY_MONITORED=false +#CL_TEKU_ALLOY_MONITORED=false +#CL_LODESTAR_ALLOY_MONITORED=false +#CHARON_ALLOY_MONITORED=false +#VC_LODESTAR_ALLOY_MONITORED=false +#VC_NIMBUS_ALLOY_MONITORED=false +#VC_PRYSM_ALLOY_MONITORED=false +#VC_TEKU_ALLOY_MONITORED=false +#MEV_MEV_BOOST_ALLOY_MONITORED=false +#MEV_COMMIT_BOOST_ALLOY_MONITORED=false +#EJECTOR_ALLOY_MONITORED=false +#DV_EXIT_ALLOY_MONITORED=false ######### Debug Config ######### diff --git a/.env.sample.mainnet b/.env.sample.mainnet index 7c1b092..c044eb7 100644 --- a/.env.sample.mainnet +++ b/.env.sample.mainnet @@ -176,10 +176,10 @@ CHARON_EXECUTION_CLIENT_RPC_ENDPOINT=http://${EL}:8545 # Loki log aggregation server addresses. Disable loki log aggregation by setting an empty address. #CHARON_LOKI_ADDRESSES= -# Charon Cluster Name. Mandatory to send logs with Promtail and metrics with Prometheus. +# Charon Cluster Name. Mandatory to send logs with Alloy and metrics with Prometheus. #CLUSTER_NAME="" -# Charon Cluster Peer. Mandatory to send logs with Promtail and metrics with Prometheus. +# Charon Cluster Peer. Mandatory to send logs with Alloy and metrics with Prometheus. #CLUSTER_PEER="" # Nickname to identify this charon node on monitoring (max 32 characters). @@ -268,23 +268,23 @@ LIDODVEXIT_EXIT_EPOCH=194048 # Specify multiple discord IDs using comma separation. (e.g. `ALERT_DISCORD_IDS=123456789098765432,098765432123456789`) #ALERT_DISCORD_IDS="" -# Uncomment these if you have log exporting with Promtail +# Uncomment these if you have log exporting with Alloy # and want to disable log export on a particular container. -#EL_NETHERMIND_PROMTAIL_MONITORED=false -#EL_RETH_PROMTAIL_MONITORED=false -#CL_LIGHTHOUSE_PROMTAIL_MONITORED=false -#CL_GRANDINE_PROMTAIL_MONITORED=false -#CL_TEKU_PROMTAIL_MONITORED=false -#CL_LODESTAR_PROMTAIL_MONITORED=false -#CHARON_PROMTAIL_MONITORED=false -#VC_LODESTAR_PROMTAIL_MONITORED=false -#VC_NIMBUS_PROMTAIL_MONITORED=false -#VC_PRYSM_PROMTAIL_MONITORED=false -#VC_TEKU_PROMTAIL_MONITORED=false -#MEV_MEV_BOOST_PROMTAIL_MONITORED=false -#MEV_COMMIT_BOOST_PROMTAIL_MONITORED=false -#EJECTOR_PROMTAIL_MONITORED=false -#DV_EXIT_PROMTAIL_MONITORED=false +#EL_NETHERMIND_ALLOY_MONITORED=false +#EL_RETH_ALLOY_MONITORED=false +#CL_LIGHTHOUSE_ALLOY_MONITORED=false +#CL_GRANDINE_ALLOY_MONITORED=false +#CL_TEKU_ALLOY_MONITORED=false +#CL_LODESTAR_ALLOY_MONITORED=false +#CHARON_ALLOY_MONITORED=false +#VC_LODESTAR_ALLOY_MONITORED=false +#VC_NIMBUS_ALLOY_MONITORED=false +#VC_PRYSM_ALLOY_MONITORED=false +#VC_TEKU_ALLOY_MONITORED=false +#MEV_MEV_BOOST_ALLOY_MONITORED=false +#MEV_COMMIT_BOOST_ALLOY_MONITORED=false +#EJECTOR_ALLOY_MONITORED=false +#DV_EXIT_ALLOY_MONITORED=false ######### Debug Config ######### diff --git a/README.md b/README.md index c5f7253..28ec30b 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ To configure this repo for a particular network, follow these instructions. If y 2. Grab your operator ID from the lido [mainnet dashboard](https://operators.lido.fi/) or [testnet dashboard](https://operators-holesky.testnet.fi/). 3. Find `VE_OPERATOR_ID` in `.env` and set it to your operator ID. 4. Find `VE_EASY_TRACK_MOTION_CREATOR_ADDRESSES_ALLOWLIST=["0xYourNodeOperatorRewardAddress"]`, uncomment it, and change `0xYourNodeOperatorRewardAddress` to your Lido Operator SAFE manager address for your cluster. -5. To enable log collection with promtail which will stream logs to the Obol Core team to help identify cluster issues find `MONITORING=${MONITORING:-monitoring},monitoring-log-collector` and uncomment it. +5. To enable log collection with alloy which will stream logs to the Obol Core team to help identify cluster issues find `MONITORING=${MONITORING:-monitoring},monitoring-log-collector` and uncomment it. 6. Consult with the others in your cluster, and choose a set of execution layer (EL), consensus layer (CL), validator client (VC) and mev clients (MEV) for your setup that maximises the client diversity of your cluster; by commenting and uncommenting one of each in the opening lines of your `.env` file. 7. Save and close the `.env` file. diff --git a/alloy/config.alloy.example b/alloy/config.alloy.example index 1329e9f..91577b4 100644 --- a/alloy/config.alloy.example +++ b/alloy/config.alloy.example @@ -12,7 +12,7 @@ discovery.relabel "docker" { targets = discovery.docker.docker.targets rule { - source_labels = ["__meta_docker_container_label_promtail_monitored"] + source_labels = ["__meta_docker_container_label_alloy_monitored"] regex = "true" action = "keep" } diff --git a/compose-cl.yml b/compose-cl.yml index 495e470..17f0bdc 100644 --- a/compose-cl.yml +++ b/compose-cl.yml @@ -15,7 +15,7 @@ services: image: sifrai/grandine:${GRANDINE_VERSION:-2.0.1} restart: unless-stopped labels: - - "promtail-monitored=${CL_GRANDINE_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${CL_GRANDINE_ALLOY_MONITORED:-true}" command: - --data-dir=/root/.grandine - --eth1-rpc-urls=http://${EL}:8551 @@ -48,7 +48,7 @@ services: image: sigp/lighthouse:${LIGHTHOUSE_VERSION:-v8.0.1} restart: unless-stopped labels: - - "promtail-monitored=${CL_LIGHTHOUSE_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${CL_LIGHTHOUSE_ALLOY_MONITORED:-true}" command: | lighthouse bn --network=${NETWORK} @@ -85,7 +85,7 @@ services: image: consensys/teku:${VC_VERSION:-25.12.0} restart: unless-stopped labels: - - "promtail-monitored=${CL_TEKU_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${CL_TEKU_ALLOY_MONITORED:-true}" command: | --network=${NETWORK} --checkpoint-sync-url=${LIGHTHOUSE_CHECKPOINT_SYNC_URL} @@ -118,7 +118,7 @@ services: image: chainsafe/lodestar:${VC_VERSION:-v1.38.0} restart: unless-stopped labels: - - "promtail-monitored=${CL_LODESTAR_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${CL_LODESTAR_ALLOY_MONITORED:-true}" command: | beacon --network=${NETWORK} diff --git a/compose-el.yml b/compose-el.yml index ba0ff35..ae32208 100644 --- a/compose-el.yml +++ b/compose-el.yml @@ -19,7 +19,7 @@ services: - ${EL_IP_HTTP:-127.0.0.1}:${EL_PORT_HTTP:-8545}:8545 # JSON-RPC - ${EL_IP_ENGINE:-127.0.0.1}:${EL_PORT_ENGINE:-8551}:8551 # ENGINE-API labels: - - "promtail-monitored=${EL_NETHERMIND_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${EL_NETHERMIND_ALLOY_MONITORED:-true}" command: | --config=${NETWORK} --data-dir=/nethermind/data @@ -56,7 +56,7 @@ services: - ${EL_IP_HTTP:-127.0.0.1}:${EL_PORT_HTTP:-8545}:8545 # JSON-RPC - ${EL_IP_ENGINE:-127.0.0.1}:${EL_PORT_ENGINE:-8551}:8551 # ENGINE-API labels: - - "promtail-monitored=${EL_RETH_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${EL_RETH_ALLOY_MONITORED:-true}" command: | node --full diff --git a/compose-mev.yml b/compose-mev.yml index 944fa3a..759160d 100644 --- a/compose-mev.yml +++ b/compose-mev.yml @@ -17,7 +17,7 @@ services: volumes: - ./commit-boost/config.toml:/etc/commit-boost/config.toml:ro labels: - - "promtail-monitored=${MEV_COMMIT_BOOST_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${MEV_COMMIT_BOOST_ALLOY_MONITORED:-true}" networks: [dvnode] restart: unless-stopped @@ -42,6 +42,6 @@ services: -metrics -metrics-addr=0.0.0.0:18551 labels: - - "promtail-monitored=${MEV_MEV_BOOST_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${MEV_MEV_BOOST_ALLOY_MONITORED:-true}" networks: [dvnode] restart: unless-stopped diff --git a/compose-monitoring.yml b/compose-monitoring.yml index 9750bb4..39c5ea2 100644 --- a/compose-monitoring.yml +++ b/compose-monitoring.yml @@ -58,7 +58,13 @@ services: - /var/run/docker.sock:/var/run/docker.sock networks: [dvnode] entrypoint: /etc/alloy/run.sh - command: ["/bin/alloy", "run", "/etc/alloy/config.alloy", "--storage.path=/var/lib/alloy/data"] + command: + [ + "/bin/alloy", + "run", + "/etc/alloy/config.alloy", + "--storage.path=/var/lib/alloy/data", + ] restart: unless-stopped networks: diff --git a/compose-vc.yml b/compose-vc.yml index 6170ff3..b776421 100644 --- a/compose-vc.yml +++ b/compose-vc.yml @@ -21,7 +21,7 @@ services: BUILDER_API_ENABLED: ${BUILDER_API_ENABLED:-true} BUILDER_SELECTION: ${VC_LODESTAR_BUILDER_SELECTION:-builderalways} labels: - - "promtail-monitored=${VC_LODESTAR_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${VC_LODESTAR_ALLOY_MONITORED:-true}" volumes: - ./lodestar/run.sh:/opt/lodestar/run.sh - .charon/validator_keys:/home/charon/validator_keys @@ -46,7 +46,7 @@ services: environment: BEACON_NODE_ADDRESS: http://charon:3600 labels: - - "promtail-monitored=${VC_NIMBUS_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${VC_NIMBUS_ALLOY_MONITORED:-true}" volumes: - ./nimbus/run.sh:/home/user/data/run.sh - .charon/validator_keys:/home/validator_keys @@ -70,7 +70,7 @@ services: BEACON_NODE_ADDRESS: http://charon:3600 NETWORK: ${NETWORK} labels: - - "promtail-monitored=${VC_PRYSM_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${VC_PRYSM_ALLOY_MONITORED:-true}" volumes: - ./prysm/run.sh:/home/prysm/run.sh - ./data/vc-prysm:/data/vc @@ -100,7 +100,7 @@ services: depends_on: [charon] networks: [dvnode] labels: - - "promtail-monitored=${VC_TEKU_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${VC_TEKU_ALLOY_MONITORED:-true}" volumes: - .charon/validator_keys:/opt/charon/validator_keys - ./data/vc-teku:/home/data diff --git a/docker-compose.yml b/docker-compose.yml index f97c58d..4b6e8ac 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,7 +19,7 @@ services: - ${NETHERMIND_IP_HTTP:-127.0.0.1}:${NETHERMIND_PORT_HTTP:-8545}:8545 # JSON-RPC - ${NETHERMIND_IP_ENGINE:-127.0.0.1}:${NETHERMIND_PORT_ENGINE:-8551}:8551 # ENGINE-API labels: - - "promtail-monitored=${NETHERMIND_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${NETHERMIND_ALLOY_MONITORED:-true}" command: | --config=${NETWORK} --datadir=data @@ -53,7 +53,7 @@ services: - ${LIGHTHOUSE_PORT_P2P:-9000}:9000/tcp # P2P TCP - ${LIGHTHOUSE_PORT_P2P:-9000}:9000/udp # P2P UDP labels: - - "promtail-monitored=${LIGHTHOUSE_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${LIGHTHOUSE_ALLOY_MONITORED:-true}" command: | lighthouse bn --network=${NETWORK} @@ -111,7 +111,7 @@ services: - ${CHARON_PORT_P2P_TCP:-3610}:${CHARON_PORT_P2P_TCP:-3610}/tcp # P2P TCP libp2p networks: [dvnode] labels: - - "promtail-monitored=${CHARON_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${CHARON_ALLOY_MONITORED:-true}" volumes: - .charon:/opt/charon/.charon restart: unless-stopped @@ -136,7 +136,7 @@ services: BUILDER_API_ENABLED: ${BUILDER_API_ENABLED:-true} BUILDER_SELECTION: ${BUILDER_SELECTION:-builderalways} labels: - - "promtail-monitored=${LODESTAR_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${LODESTAR_ALLOY_MONITORED:-true}" volumes: - ./lodestar/run.sh:/opt/lodestar/run.sh - .charon/validator_keys:/home/charon/validator_keys @@ -166,7 +166,7 @@ services: -metrics -metrics-addr=0.0.0.0:18551 labels: - - "promtail-monitored=${MEV_BOOST_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${MEV_BOOST_ALLOY_MONITORED:-true}" networks: [dvnode] restart: unless-stopped @@ -235,7 +235,7 @@ services: volumes: - ./validator-ejector:/exitmessages labels: - - "promtail-monitored=${EJECTOR_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${EJECTOR_ALLOY_MONITORED:-true}" restart: unless-stopped environment: - EXECUTION_NODE=${VE_EXECUTION_NODE_URL:-http://nethermind:8545} @@ -265,7 +265,7 @@ services: - ./validator-ejector:/exitmessages - .charon:/charon labels: - - "promtail-monitored=${DV_EXIT_PROMTAIL_MONITORED:-true}" + - "alloy-monitored=${DV_EXIT_ALLOY_MONITORED:-true}" environment: - LIDODVEXIT_BEACON_NODE_URL=${LIDO_DV_EXIT_BEACON_NODE_URL:-http://lighthouse:5052} - LIDODVEXIT_CHARON_RUNTIME_DIR=/charon diff --git a/promtail/config.yml.example b/promtail/config.yml.example deleted file mode 100644 index 11c6f74..0000000 --- a/promtail/config.yml.example +++ /dev/null @@ -1,49 +0,0 @@ -server: - http_listen_port: 9080 - grpc_listen_port: 0 - -positions: - filename: /tmp/positions.yaml - -clients: - - url: $CHARON_LOKI_ADDRESSES - -scrape_configs: - - job_name: docker - docker_sd_configs: - - host: unix:///var/run/docker.sock - relabel_configs: - - source_labels: - [__meta_docker_container_label_promtail_monitored] - regex: "true" - action: keep - - source_labels: ['__meta_docker_container_name'] - regex: '/(.*)' - replacement: '$1' - target_label: 'container' - - source_labels: ['container'] - regex: '.*charon.*' - replacement: 'lido-charon' - target_label: 'job' - - source_labels: ['container'] - regex: '.*nethermind.*' - replacement: 'lido-nethermind' - target_label: 'job' - - source_labels: ['container'] - regex: '.*lodestar.*' - replacement: 'lido-lodestar' - target_label: 'job' - - source_labels: ['container'] - regex: '.*lighthouse.*' - replacement: 'lido-lighthouse' - target_label: 'job' - - source_labels: ['container'] - regex: '.*mev-boost.*' - replacement: 'lido-mev-boost' - target_label: 'job' - - target_label: 'cluster_name' - replacement: '$CLUSTER_NAME' - - target_label: 'cluster_peer' - replacement: '$CLUSTER_PEER' - pipeline_stages: - - docker: {}