A modern, beautiful, and intelligent StarRocks cluster management platform
Features • Quick Start • Deployment • API Documentation • Contributing
StarRocks Admin is a professional, enterprise-grade StarRocks database cluster management tool that provides an intuitive web interface for managing and monitoring multiple StarRocks clusters. Compared to StarRocks' native management interface, this platform offers richer functionality and a better user experience.
- One-Click Deployment - Supports traditional deployment, Docker, and Kubernetes
- Real-time Monitoring - View real-time cluster status and performance metrics
- Cluster Management - Unified management of multiple StarRocks clusters
- Modern UI - Modern interface based on Angular + Nebular
- Security Authentication - JWT authentication and permission management
- Performance Analysis - Query performance analysis and optimization suggestions
# 1. Clone the project
git clone https://github.com/jlon/starrocks-admin.git
cd starrocks-admin
# 2. Build and package
make build
# 3. Start the service
cd build/dist
./bin/starrocks-admin.sh start
# 4. Access the application
open http://localhost:8080# Option 1: Use pre-built image from Docker Hub
docker pull ghcr.io/jlon/starrocks-admin:latest
docker run -d -p 8080:8080 --name starrocks-admin \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
ghcr.io/jlon/starrocks-admin:latest
# Option 2: Build from source
git clone https://github.com/jlon/starrocks-admin.git
cd starrocks-admin
make docker-build # Build Docker image
make docker-up # Start Docker container
# Access the application
open http://localhost:8080For detailed deployment guides including Kubernetes YAML and Helm Chart deployment, see: 📖 Deployment Guide
StarRocks Admin provides an intuitive and beautiful web management interface covering all aspects of cluster management.
Unified management of multiple StarRocks clusters with support for adding, editing, and deleting cluster configurations.
Real-time display of overall cluster status, performance metrics, and resource usage for a comprehensive view of cluster health.
Detailed cluster metrics and performance indicators.
Resource usage and capacity planning insights.
View and manage Frontend (FE) nodes, monitoring their running status and resource usage.
View and manage Backend (BE) nodes with detailed performance metrics.
Real-time view of executing queries with support for query termination and performance analysis.
Monitor actively running queries and their execution status.
Comprehensive audit logs for all executed queries with detailed metadata.
Detailed query execution profiles for performance analysis and optimization.
In-depth query performance metrics and execution plans.
View and manage all materialized views in the cluster, with support for enabling, disabling, and editing.
Detailed materialized view configuration and refresh status.
Quick access to system functions with support for custom SQL execution and common operations.
Manage database connection sessions, view active sessions and historical connection information.
Configure and manage system variables with support for viewing and modifying runtime parameters.
Manage system users, roles, and permissions with fine-grained access control.
Multi-tenant organization management for enterprise deployments.
Define and manage user roles with customizable permission sets.
Before adding a cluster, you need to create a dedicated monitoring user with appropriate read-only permissions in StarRocks.
# Execute the permission setup script
cd scripts
mysql -h <fe_host> -P 9030 -u root -p < setup_starrocks_admin_role.sql
# Verify permissions
mysql -h <fe_host> -P 9030 -u starrocks_monitor -p < verify_permissions.sqlFor detailed permission configuration guide, see scripts/permissions/README_PERMISSIONS.md
Security Note: Do NOT use the root account in production. Always create a dedicated monitoring user with minimal required permissions.
[server]
host = "0.0.0.0"
port = 8080
[database]
url = "sqlite://data/starrocks-admin.db"
[auth]
jwt_secret = "your-secret-key-change-in-production"
jwt_expires_in = "24h"
[logging]
level = "info,starrocks_admin_backend=debug"
file = "logs/starrocks-admin.log"
[static_config]
enabled = true
web_root = "web"
# Metrics collector configuration
[metrics]
interval_secs = "30s"
retention_days = "7d"
enabled = true
# Audit log configuration
[audit]
database = "starrocks_audit_db__"
table = "starrocks_audit_tbl__"For detailed audit log configuration options, see Audit Log Configuration Guide.
See CHANGELOG.md for detailed release notes and version history.
We welcome all forms of contributions! Please follow these steps:
- Fork the project
- Create a 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) - Create a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- ngx-admin - Excellent Angular admin template
- Nebular - Beautiful UI component library
- Axum - Powerful Rust web framework
- StarRocks - High-performance analytical database
If you have any questions or issues, please feel free to contact me:
📧 Email: itjlon@gmail.com
StarRocks Admin 是一个专业的、企业级的 StarRocks 数据库集群管理工具,提供直观的 Web 界面来管理和监控多个 StarRocks 集群。相比 StarRocks 原生的管理界面,本平台提供了更丰富的功能和更好的用户体验。
- 一键部署 - 支持传统部署、Docker 和 Kubernetes
- 实时监控 - 查看集群的实时状态和性能指标
- 集群管理 - 统一管理多个 StarRocks 集群
- 现代 UI - 基于 Angular + Nebular 的现代化界面
- 安全认证 - JWT 认证和权限管理
- 性能分析 - 查询性能分析和优化建议
# 1. 克隆项目
git clone https://github.com/jlon/starrocks-admin.git
cd starrocks-admin
# 2. 构建和打包
make build
# 3. 启动服务
cd build/dist
./bin/starrocks-admin.sh start
# 4. 访问应用
open http://localhost:8080# 方式1: 使用 Docker Hub 预构建镜像
docker pull ghcr.io/jlon/starrocks-admin:latest
docker run -d -p 8080:8080 --name starrocks-admin \
-v $(pwd)/data:/app/data \
-v $(pwd)/logs:/app/logs \
ghcr.io/jlon/starrocks-admin:latest
# 方式2: 从源码构建
git clone https://github.com/jlon/starrocks-admin.git
cd starrocks-admin
make docker-build # 构建 Docker 镜像
make docker-up # 启动 Docker 容器
# 访问应用
open http://localhost:8080完整的部署指南(包括 Kubernetes YAML 部署和 Helm Chart 部署),请参阅: 📖 详细部署指南
StarRocks Admin 提供了直观、美观的 Web 管理界面,涵盖集群管理的各个方面。
统一管理多个 StarRocks 集群,支持添加、编辑、删除集群配置。
实时展示集群整体状态、性能指标和资源使用情况,一目了然掌握集群健康状态。
查看和管理集群中的所有物化视图,支持开启、关闭、编辑等操作。
在添加集群之前,需要在 StarRocks 中创建专用的监控用户并授予适当的只读权限。
# 执行权限配置脚本
cd scripts
mysql -h <fe_host> -P 9030 -u root -p < setup_starrocks_admin_role.sql
# 验证权限配置
mysql -h <fe_host> -P 9030 -u starrocks_monitor -p < verify_permissions.sql详细的权限配置指南请参考 scripts/permissions/README_PERMISSIONS.md
安全提示: 生产环境禁止使用 root 账号,务必创建专用的监控账号并遵循最小权限原则。
[server]
host = "0.0.0.0"
port = 8080
[database]
url = "sqlite://data/starrocks-admin.db"
[auth]
jwt_secret = "your-secret-key-change-in-production"
jwt_expires_in = "24h"
[logging]
level = "info,starrocks_admin_backend=debug"
file = "logs/starrocks-admin.log"
[static_config]
enabled = true
web_root = "web"
# Metrics collector configuration
# 支持人类可读格式:"30s"、"5m"、"1h";保留期支持:"7d"、"2w"
[metrics]
interval_secs = "30s" # 采集间隔,默认30秒
retention_days = "7d" # 数据保留时长,默认7天
enabled = true # 是否启用采集
# Audit log configuration
[audit]
database = "starrocks_audit_db__"
table = "starrocks_audit_tbl__"- 环境变量覆盖示例:
APP_METRICS_INTERVAL_SECS=1m \
APP_METRICS_RETENTION_DAYS=14d \
APP_METRICS_ENABLED=true \
查看 CHANGELOG.md 了解详细的版本发布说明和历史记录。
我们欢迎所有形式的贡献!请遵循以下步骤:
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目采用 Apache License 2.0 许可证 - 查看 LICENSE 文件了解详情。
如有任何问题或疑问,欢迎通过邮件联系我:
📧 邮箱:itjlon@gmail.com
