Octez ECAD Sidecar is a sidecar application that runs alongside a Tezos RPC node. It provides a /health
endpoint to monitor the health status of the node based on several heuristics.
The Octez ECAD Sidecar is designed to enhance the reliability of Tezos RPC nodes by providing a health check endpoint. This allows load balancers to dynamically manage node availability, ensuring efficient traffic distribution and high availability.
The purpose of the /health
endpoint is to allow health check probes from load balancers. This enables a load balancer to dynamically include or exclude nodes from the group of origin servers. The service is suitable for use with popular load balancer services such as those from Cloudflare, Amazon, and Google.
Prometheus metrics are exposed via /metrics
endpoint.
-
Clone the repository:
git clone https://github.com/ecadlabs/octez-ecad-sc.git cd octez-ecad-sc
-
Build the project:
go build -o octez-ecad-sc
-
Run the sidecar:
./octez-ecad-sc -c config.yaml
The sidecar can be configured via YAML file:
Field | Default | Description |
---|---|---|
listen | :8080 | Host and port to listen on |
url | Tezos RPC URL | |
chain_id | Base58 encoded chain id | |
timeout | 30s | RPC timeout |
tolerance | 10s | The amount of time added to the minimal_block_delay value for block observation |
reconnect_delay | 10s | Delay before reconnection of a head monitor |
use_timestamps | false | Use blocks' timestamps instead of a system time |
poll_interval | 15s | Interval in whish endpoints are getting polled |
health_use_bootstrapped | true | If true the bootstrap state is used to produce /health output |
health_use_block_delay | true | If true the block delay is used to produce /health output |
If you encounter any issues, please create a new issue in the GitHub issue tracker.
- Fork the repository.
- Create a new branch with a descriptive name.
- Make your changes and commit them with clear and concise messages.
- Push your changes to your fork.
- Create a pull request to the main repository.
This project is licensed under the Apache 2.0 License.
This sidecar project supersedes an old project: tezos_exporter that ECAD used as a health check. That project is archived. Octez now exposes Prometheus metrics directly.
For questions or support, please open an issue in the issue tracker.