3.5 KiB
Deploy multiple bridge monitor on the same host
If you want to deploy a monitor for different bridges, the monitor variables should be configured in group_vars/<bridge_name>.yml
for each bridge.
For example, let's say we are going to deploy a monitor for xDai bridge and for WETC bridge.
Setup ansible configuration for xDai Bridge
First we create hosts.yml
file to deploy the monitor for xdai bridge
---
xdai:
children:
monitor:
hosts:
<host_ip_A>:
ansible_user: ubuntu
In group_vars/xdai.yml
---
MONITOR_BRIDGE_NAME: "xdai"
MONITOR_PORT: 3003
MONITOR_CACHE_EVENTS: "true"
COMMON_HOME_RPC_URL: "https://dai.poa.network"
COMMON_HOME_BRIDGE_ADDRESS: "0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6"
COMMON_FOREIGN_RPC_URL: "https://mainnet.infura.io/v3/INFURA_KEY"
COMMON_FOREIGN_BRIDGE_ADDRESS: "0x4aa42145Aa6Ebf72e164C9bBC74fbD3788045016"
COMMON_HOME_GAS_PRICE_FALLBACK: 0
COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL: "https://gasprice.poa.network/"
COMMON_FOREIGN_GAS_PRICE_SPEED_TYPE: "standard"
COMMON_FOREIGN_GAS_PRICE_FALLBACK: 10000000000
COMMON_FOREIGN_GAS_PRICE_FACTOR: 1
MONITOR_HOME_START_BLOCK: 759
MONITOR_FOREIGN_START_BLOCK: 6478417
MONITOR_VALIDATOR_HOME_TX_LIMIT: 0
MONITOR_VALIDATOR_FOREIGN_TX_LIMIT: 300000
MONITOR_TX_NUMBER_THRESHOLD: 100
Run the playbook to deploy the monitor for xdai bridge
ansible-playbook -i hosts.yml site.yml
This command will deploy the monitor component and enable statistics for xdai bridge.
Setup ansible configuration for WETC Bridge
Update hosts.yml
file to deploy the monitor for WETC Bridge
---
wetc:
children:
monitor:
hosts:
<host_ip_A>:
ansible_user: ubuntu
In group_vars/wetc.yml
---
MONITOR_BRIDGE_NAME: "wetc"
MONITOR_CACHE_EVENTS: "true"
COMMON_HOME_RPC_URL: "https://ethereumclassic.network"
COMMON_HOME_BRIDGE_ADDRESS: "0x073081832B4Ecdce79d4D6753565c85Ba4b3BeA9"
COMMON_FOREIGN_RPC_URL: "https://mainnet.infura.io/v3/32e8e252699a4ac1b5dd5c1ef53cc301"
COMMON_FOREIGN_BRIDGE_ADDRESS: "0x0cB781EE62F815bdD9CD4c2210aE8600d43e7040"
COMMON_HOME_GAS_PRICE_SUPPLIER_URL: "https://gasprice-etc.poa.network/"
COMMON_HOME_GAS_PRICE_SPEED_TYPE: "standard"
COMMON_HOME_GAS_PRICE_FALLBACK: 15000000000
COMMON_HOME_GAS_PRICE_FACTOR: 1
COMMON_FOREIGN_GAS_PRICE_SUPPLIER_URL: "https://gasprice.poa.network/"
COMMON_FOREIGN_GAS_PRICE_SPEED_TYPE: "standard"
COMMON_FOREIGN_GAS_PRICE_FALLBACK: 10000000000
ORACLE_FOREIGN_GAS_PRICE_UPDATE_INTERVAL: 600000
COMMON_FOREIGN_GAS_PRICE_FACTOR: 1
MONITOR_HOME_START_BLOCK: 7703292
MONITOR_FOREIGN_START_BLOCK: 7412459
MONITOR_VALIDATOR_HOME_TX_LIMIT: 300000
MONITOR_VALIDATOR_FOREIGN_TX_LIMIT: 300000
MONITOR_TX_NUMBER_THRESHOLD: 100
Given that there is a monitor component deployed in the system, the MONITOR_PORT
variable is not needed.
Run the playbook to deploy the monitor for WETC Bridge
ansible-playbook -i hosts.yml site.yml
They playbook will detect that the monitor component is already deployed in the system, so it will only generate the configuration needed to enable the WETC Bridge statistics.
Get Monitor results
The monitor output will be available at http://host_ip_A:MONITOR_PORT/MONITOR_BRIDGE_NAME
.
Given that in xdai.env
the variable MONITOR_BRIDGE_NAME
is set to xdai
, the results are in the url http://host_ip_A:3003/xdai/
.
Similar to the xdai case, in wetc.env
the variable MONITOR_BRIDGE_NAME
is set to wetc
, so the results are in the url http://host_ip_A:3003/wetc/
.