Observatory is a blockchain node health monitoring service that continuously pings and monitors the availability and performance of Cosmos ecosystem RPC nodes. It collects metrics such as response times, HTTP status codes, and uptime statistics, making them available through Prometheus metrics for observability and alerting.
- Continuous Health Monitoring: Automatically pings blockchain nodes at regular intervals
- Multi-Provider Support: Monitors nodes from various providers (Ecostake, NMS, Numia, AllNodes, and individual nodes)
- Prometheus Metrics: Exposes health and performance metrics in Prometheus format
- Downtime Alerts: Tracks and reports node downtime for critical chains
- Data Accuracy Checks: Validates data consistency across different node providers
- RESTful API: Provides health check and metrics endpoints
See the architecture for more information.
Before running Observatory, ensure you have the following installed:
- Node.js 16
- Docker (for containerized deployment)
- Yarn (package manager, enabled via corepack)
-
Clone the repository:
git clone https://github.com/leapwallet/observatory.git cd observatory -
Create and configure your
.envfile with the required environment variables -
Start the service using Docker Compose:
docker compose up --build -d
-
Access the service:
- Health check:
http://localhost:3000/health - Prometheus metrics:
http://localhost:3000/metrics
- Health check:
For detailed setup instructions, see the guides below.
Here are the guides for running this microservice using:
- Docker Compose (recommended for local development)
- Cloud (recommended for production).
- Here's the latest version's documentation.
- Changelog
- Observability