#!/usr/bin/env bash # Create Monitoring Dashboard # Generates a simple HTML dashboard for monitoring status set -euo pipefail # Load IP configuration SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" # Colors GREEN='\033[0;32m' BLUE='\033[0;34m' NC='\033[0m' log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } log_success() { echo -e "${GREEN}[✓]${NC} $1"; } create_dashboard() { log_info "Creating monitoring dashboard..." local dashboard_file="${PROJECT_ROOT}/logs/monitoring/dashboard.html" mkdir -p "$(dirname "$dashboard_file")" cat > "$dashboard_file" <<'DASHBOARD' Blockchain Monitoring Dashboard

🔗 Blockchain Monitoring Dashboard

Recent Activity

DASHBOARD log_success "Dashboard created: $dashboard_file" log_info "Open in browser: file://$dashboard_file" } create_dashboard_script() { log_info "Creating dashboard update script..." cat > "$SCRIPT_DIR/update-dashboard.sh" <<'DASHBOARDSCRIPT' #!/usr/bin/env bash # Update Monitoring Dashboard # Fetches current status and updates dashboard set -euo pipefail # Load IP configuration SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" # Source environment if [ -f "$PROJECT_ROOT/smom-dbis-138/.env" ]; then source "$PROJECT_ROOT/smom-dbis-138/.env" 2>/dev/null || true fi RPC_URL="${RPC_URL_138:-http://${RPC_CORE_1}:8545}" # Get current block BLOCK=$(cast block-number --rpc-url "$RPC_URL" 2>/dev/null || echo "0") # Get validator status (simplified) VALIDATOR_COUNT=5 # Update dashboard with real data # This would be integrated with the HTML dashboard echo "Dashboard update script ready" echo "Block: $BLOCK" echo "Validators: $VALIDATOR_COUNT/5" DASHBOARDSCRIPT chmod +x "$SCRIPT_DIR/update-dashboard.sh" log_success "update-dashboard.sh script created" } main() { log_info "Creating monitoring dashboard..." echo "" create_dashboard echo "" create_dashboard_script echo "" log_success "Monitoring dashboard created!" log_info "Dashboard location: logs/monitoring/dashboard.html" log_info "You can open it in a web browser or set up a web server to serve it" } main "$@"