Skip to content

bomanaps/zeam-dashboards

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zeam Dashboards

This repository contains Grafana dashboards and monitoring infrastructure for the Zeam blockchain node.

Overview

This repository provides:

  • Grafana Dashboards: Pre-configured dashboards for monitoring Zeam node performance
  • Docker Compose Setup: Complete monitoring stack with Prometheus and Grafana
  • Prometheus Configuration: Templates and examples for Prometheus setup

Quick Start

Prerequisites

  • Docker and Docker Compose installed
  • A running Zeam node with metrics enabled

1. Generate Prometheus Configuration

First, generate a Prometheus configuration file using the Zeam CLI:

# From your Zeam repository
./zig-out/bin/zeam generate_prometheus_config --output prometheus/prometheus.yml

2. Start the Monitoring Stack

# Clone this repository
git clone https://github.com/blockblaz/zeam-dashboards.git
cd zeam-dashboards

# Start Prometheus and Grafana
docker-compose up -d

3. Access Dashboards

4. Configure Grafana Data Source

  1. Open Grafana at http://localhost:3001
  2. Go to Configuration → Data Sources
  3. Add Prometheus data source:
    • URL: http://prometheus:9090
    • Access: Server (default)

Dashboard Features

Main Dashboard

The main dashboard (grafana/dashboards/main.json) includes:

  • P95 Block Processing Time: 95th percentile of block processing duration
  • Block Processing Rate: Number of blocks processed per second
  • System Health: Overall node health indicators

Configuration

Environment Variables

You can customize the setup using environment variables:

# Custom ports
export PROMETHEUS_PORT=9090
export GRAFANA_PORT=3001

# Start with custom configuration
docker-compose up -d

Prometheus Configuration

The Prometheus configuration is generated by the Zeam CLI and should be placed in prometheus/prometheus.yml. The configuration includes:

  • Scrape intervals and targets
  • Retention policies
  • Alert rules (if configured)

Development

Adding New Dashboards

  1. Create dashboard JSON in grafana/dashboards/
  2. Update grafana/provisioning/dashboards/dashboards.yml if needed
  3. Restart Grafana: docker-compose restart grafana

Customizing Dashboards

Dashboards are stored in grafana/dashboards/ and can be:

  • Modified directly in JSON format
  • Exported from Grafana UI
  • Version controlled with Git

Troubleshooting

Common Issues

  1. Prometheus can't scrape Zeam node:

    • Verify Zeam node is running with --metricsPort flag
    • Check firewall settings
    • Ensure Prometheus config targets match Zeam metrics port
  2. Grafana can't connect to Prometheus:

    • Verify Prometheus is running: docker-compose ps
    • Check data source URL in Grafana
    • Ensure both services are on the same Docker network
  3. No metrics appearing:

    • Verify Zeam node is generating metrics
    • Check Prometheus targets page
    • Review Prometheus logs: docker-compose logs prometheus

Logs

View logs for troubleshooting:

# All services
docker-compose logs

# Specific service
docker-compose logs prometheus
docker-compose logs grafana

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with a local Zeam node
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published