๐ Comprehensive Cluster Analysis and Report Generation Tool
An integrated monitoring solution combining NodeProbe and PerfSnap engines
- ๐ Automated Data Collection - Automatic collection of cluster node configuration and performance data
- ๐ Deep System Analysis - Comprehensive analysis of CPU, memory, disk, network, and more
- โก Real-time Performance Monitoring - Integrated PerfSnap engine for real-time monitoring capabilities
- ๐ Extensible Plugin System - Support for custom collectors and analyzers
- ๐ Multi-format Reports - Generate reports in HTML, JSON, Markdown, and more
- ๐ค Intelligent Analysis Engine - Automatic health scoring and issue detection
# Clone the repository git clone https://github.com/sunyifei83/ClusterReport.git cd ClusterReport # Build the project go build -o clusterreport ./cmd/cli # Run the application ./clusterreport --help
# Check version ./clusterreport version # Collect data (in development) ./clusterreport collect --nodes localhost # Generate report (in development) ./clusterreport generate --output report.html # One-command report generation (planned) ./clusterreport report --cluster production --formats html,pdf
ClusterReport/ # Project root directory
โโโ README.md # Project homepage (English)
โโโ README-zh.md # Chinese documentation
โโโ LICENSE # MIT License
โโโ CODE_OF_CONDUCT.md # Code of conduct
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ config.yaml # Configuration file
โโโ go.mod / go.sum # Go dependencies
โ
โโโ cmd/ # Command line entry points
โ โโโ cli/ # CLI mode
โ โโโ server/ # Server mode (planned)
โ โโโ agent/ # Agent mode (planned)
โ
โโโ pkg/ # Core packages
โ โโโ collector/ # Data collectors
โ โโโ analyzer/ # Data analyzers
โ โโโ generator/ # Report generators
โ
โโโ plugins/ # Plugin system
โ โโโ collectors/ # Collection plugins (MySQL, Redis, etc.)
โ โโโ analyzers/ # Analysis plugins
โ
โโโ web/ # Web interface (in development)
โ โโโ dashboard/ # Management dashboard
โ
โโโ deployments/ # Deployment configurations
โ โโโ docker/ # Docker configs
โ โโโ kubernetes/ # Kubernetes configs
โ โโโ ansible/ # Ansible playbooks
โ
โโโ docs/ # Project documentation
โ โโโ getting-started/ # Quick start guides
โ โโโ tools/go/ # Tool documentation
โ โโโ archive/ # Archived documentation
โ
โโโ tools/ # Utility tools
โ โโโ utils/ # Utility scripts
โ โโโ DocConverter.go # Document converter
โ
โโโ scripts/ # Script tools
โ โโโ README.md # Scripts documentation
โ
โโโ legacy/ # Legacy tools
โโโ NodeProbe.go # Legacy node probe
โโโ PerfSnap.go # Legacy performance snapshot
โโโ tools/ # Legacy tool scripts
Current Version: v0.7.0 (70% Complete) ๐ง
Target Version: v1.0.0
Expected Release: December 2025
- โ Project architecture design
- โ Core code framework
- โ Data collectors (collector package)
- โ Data analyzers (analyzer package)
- โ Report generators (generator package)
- โ Plugin system foundation
- โ Web Dashboard UI prototype
- ๐ง CLI command-line tools
- ๐ง Configuration file management
- ๐ง Remote node collection (SSH)
- ๐ง Complete report formats
- ๐ง Test coverage
- ๐ Server/Agent architecture
- ๐ Data persistence and storage
- ๐ Scheduled task system
- ๐ Alert and notification system
- ๐ Docker/Kubernetes deployment
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ClusterReport Platform โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฆ Built-in Data Collection Engines โ
โ โข NodeProbe Engine - System configuration collection โ
โ โข PerfSnap Engine - Performance data collection โ
โ โข Plugin System - Custom collectors โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ Collector โ ๐ Analyzer โ ๐ Generator โ
โ Data Collection Smart Analysis Report Generation โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ Plugin System โ
โ โข MySQL/Redis/Custom Collectors โ
โ โข Anomaly Detection/Trend Analysis โ
โ โข HTML/PDF/Excel Output โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-
Data Collection Layer
- System metrics collection (CPU, Memory, Disk, Network)
- Performance data acquisition
- Plugin-based extensibility
-
Analysis Layer
- Multi-dimensional metric analysis
- Intelligent health scoring (0-100)
- Automated issue detection
-
Report Generation Layer
- Multiple output formats (HTML, JSON, Markdown, PDF)
- Customizable templates
- Rich visualization and charts
-
Plugin System
- Custom collector support
- Third-party integrations (MySQL, Redis, Prometheus)
- Extensible analyzer framework
- Language: Go 1.21+
- Configuration: YAML
- CLI Framework: Cobra + Viper
- Web: HTML + CSS + JavaScript
- Report Formats: HTML, JSON, Markdown, PDF (planned)
- Deployment: Docker, Kubernetes (planned)
# Collect data from all nodes clusterreport collect --cluster production --nodes node1,node2,node3 # Generate acceptance report clusterreport generate --type acceptance --baseline baseline.yaml --output acceptance_report.html
# Monthly inspection report
clusterreport report --cluster production --formats html,pdf --output ./reports/# Performance baseline testing
clusterreport collect --nodes all --include-benchmarks
clusterreport analyze --input collected_data.json --type performance
clusterreport generate --format html --output performance_report.html# Analyze specific time period clusterreport analyze --time-range "2025ๅนด01ๆ15ๆฅ 14:00,2025ๅนด01ๆ15ๆฅ 16:00" \ --focus performance,logs --output incident_report.pdf
We welcome contributions, bug reports, and feature suggestions!
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the MIT License
- GitHub: https://github.com/sunyifei83/ClusterReport
- Issues: https://github.com/sunyifei83/ClusterReport/issues
- Email: sunyifei83@gmail.com
- Unified Platform - Integrate NodeProbe and PerfSnap functionality
- Simple to Use - Accomplish complex tasks with a single command
- Highly Extensible - Plugin system for custom extensions
- Lightweight Deployment - Single binary, no external dependencies
- Cloud-Native Ready - Container deployment with native Kubernetes support
- Complete CLI command implementation
- Configuration file management
- Local data collection and analysis
- Basic report generation (HTML, Markdown, JSON)
- SSH-based remote node collection
- Batch processing of multiple nodes
- Enhanced data analysis
- Advanced reporting features
- REST API server
- Web management dashboard
- Agent-based data collection
- Scheduled task system
- User authentication and authorization
- Microservices architecture
- Data persistence and history
- Machine learning-based anomaly detection
- Multi-cluster management
- Alert and notification system
- Third-party integrations (Prometheus, Grafana, etc.)
| Component | Status | Completion | Notes |
|---|---|---|---|
| Core Framework | โ Complete | 100% | Architecture and interfaces defined |
| Data Collector | โ Complete | 100% | System metrics collection implemented |
| Data Analyzer | โ Complete | 90% | Health scoring and analysis logic |
| Report Generator | โ Complete | 80% | HTML, JSON, Markdown supported |
| CLI Commands | ๐ง In Progress | 60% | Basic commands functional |
| Plugin System | โ Complete | 70% | Interface defined, examples provided |
| Web Dashboard | ๐ง In Progress | 40% | UI prototype complete |
| Configuration | ๐ง In Progress | 70% | YAML config support |
| Testing | ๐ง In Progress | 30% | Unit tests for core modules |
| Documentation | โ Complete | 85% | Architecture and design docs |
- Go 1.21 or higher
- Linux or macOS (Windows support planned)
- Git
# Install dependencies go mod download # Build go build -o clusterreport ./cmd/cli # Run tests go test ./... # Run with verbose output ./clusterreport collect --nodes localhost --verbose
# Format code go fmt ./... # Run linter golangci-lint run # Generate documentation go doc -all
| Feature | ClusterReport | Generic Monitoring | Cloud Services |
|---|---|---|---|
| Hardware Config Analysis | โ Deep | ||
| Performance Benchmarking | โ Complete | โ Partial | |
| Offline Reports | โ Supported | โ Requires Online | |
| Customization | โ Highly Flexible | ||
| Batch Processing | โ Native Support | โ Supported | |
| Cost | โ Open Source Free | โ Paid | |
| Multi-Cluster Support | ๐ Planned | โ Supported | โ Supported |
- Architecture Documentation - Detailed architectural design
- Design Documentation - Feature specifications
- Quick Start Guide - Get started quickly
- Plugin Development - How to create plugins
This project integrates concepts and learnings from:
- NodeProbe - Hardware configuration collection
- PerfSnap - Performance profiling and analysis
- Various open-source monitoring and reporting tools
โญ If this project helps you, please give us a Star!
Note: The project is under active development (70% complete). Some features are not yet implemented. Contributions and suggestions are welcome! ๐