The Validator Monitoring Platform is designed to simplify and optimize validator operations. It provides real-time monitoring of validator efficiency and offers automated notifications for abnormal behavior, helping teams maintain and expand the validator pool while reducing operational overhead.
- Cycle and Scoreboard Monitoring: Continuously tracks voting cycles and evaluates validator efficiency.
- Real-Time Notifications: Automatically sends alerts through Telegram when validator performance drops below a configurable threshold.
- Historical Data Aggregation: Aggregates data over extended periods, supporting hourly and daily queries for long-term analysis.
- Data Visualization: Displays validator efficiency metrics through dynamic charts powered by Redis caching and Chart.js.
- ClickHouse Integration: Stores cycle and scoreboard data in ClickHouse, with partitioned tables for optimized storage and querying.
- Customizable Environment: All hosts and parameters are configurable via environment variables.
- Scrapper Module: Retrieves voting cycles and scoreboard data from external APIs and saves it to ClickHouse.
- Checker Module: Monitors validator efficiency against a defined threshold and tracks state changes.
- Notifier Module: Manages notifications and subscriptions via the Telegram API
-
Prerequisites:
- Docker
- Redis
- ClickHouse
-
Environment Variables: Configure the environment variables for hosts, ports, and thresholds in a
.env
file. -
Deployment:
- Build and deploy the Go backend in Kubernetes.
- Set up the Ingress and load balancers for external access.
- Deploy Redis and ClickHouse.
-
Migrations: The platform runs migrations automatically on startup to set up necessary tables in ClickHouse.
- Threshold-based Alerts: The Checker module monitors validator performance and sends alerts if efficiency falls below a defined threshold.
- State Change Tracking: Only sends notifications on state changes (e.g.,
ok
tonot ok
), reducing notification noise. - Historical Data: Provides aggregated metrics for long-term trend analysis.
Contributions are welcome! Please open issues or pull requests for new features, improvements, or bug fixes.
For any questions or support, please contact the development team.