Kettle-Manager 是一款专为数据工程和运维团队设计的 Kettle(Pentaho Data Integration)Web端调度与管理平台。它的核心目标是简化 ETL 系统使用过程中繁杂的作业管理、调度与监控流程。该平台依托 Kettle 强大的组件生态与成熟功能,将大量重复性工作抽象为系统功能,让用户能够更专注于核心业务逻辑,从而有效提升数据集成与处理的整体效率,适合作为企业级的调度平台或数据流转中枢。
系统代码完全开源,支持用户根据个性化需求进行二次开发。同时,它提供了简洁、直观的操作界面,约70%的功能可通过可视化界面完成。目前,该系统已在多家公司的生产环境中稳定运行,其可靠性与安全性得到了验证,用户可以基于此快速构建专属的数据调度平台。

核心特性
- 灵活的调度机制:支持在一个调度中同时管理多个资源库的任务,也支持单个资源库任务在多个调度节点上执行,实现了调度与资源的解耦管理。
- 多样的定时策略:新增作业启动时执行功能,并支持标准的 Cron 表达式定时,使任务触发时机设置更加灵活多样。
- 丰富的作业类型:平台内支持创建多种作业类型,包括数据流转作业(设计简化中)、KM作业、JavaScript作业、Shell作业以及 SQL作业,满足不同场景需求。
- 智能异常监控:平台能够自动检测作业运行中的异常信息,方便运维人员快速跟踪平台运行状况。在作业量庞大时,有效避免了逐个作业排查的繁琐。
- 完备的日志体系:提供基础的平台运行日志,作为作业执行情况的回溯依据,便于事后问题排查与审计。同时,提供更贴近业务层的数据流转日志功能,供用户按需使用。
- 便捷的转换管理:支持对 Kettle 转换文件进行查看、删除及图形化预览(查看转换图),未来计划增加导入等功能。
- 统一的数据库管理:用于集中管理 Kettle 中配置的数据库连接信息。若与数据中台深度集成,这里的数据库可采用 JNDI 形式关联,实现一处配置,多处使用;若直接使用 Kettle 配置,则可在此进行密码解密等操作。
功能模块概览
- 作业管理模块:支持查看资源库中的 Job 和 Transformation 任务,并提供新增、执行、停止和调度等核心操作。
- 调度管理模块:支持基于 Cron 表达式的定时任务调度,可统一管理多个调度节点和资源库的分布与状态。
- 日志与监控模块:提供运行日志、任务告警、异常信息追踪以及调度执行状态实时查看功能,是系统稳定运行的保障。
- 资源库与多节点支持模块:支持管理多个 Kettle 资源库,并允许任务在配置的多个节点上灵活执行,提升了系统的扩展性和可靠性。
- 参数化配置模块:系统设计高度参数化,支持使用多种数据库(当前主要支持 MySQL 与 Oracle)作为底层存储,从多方面保障数据安全与系统灵活性。对于想深入探索其他数据库用法的开发者,可以参考社区关于数据库与中间件的实践讨论。
功能界面预览
作业管理界面

转换管理界面

任务告警界面

数据流转日志界面

转换引用关系图

数据库管理界面

技术栈选型
前端:Vue3 + Vxe-Table + Element Plus
后端:SpringBoot + BeetlSQL + Redis
数据库:当前支持 Oracle、MySQL,后续将持续支持各类主流数据库
后端采用 SpringBoot 框架构建,提供了良好的可维护性和扩展性,适合快速构建企业级应用。关于如何高效使用 SpringBoot 进行开发,可以查阅云栈社区的Java与SpringBoot专题获取更多最佳实践。
开源与使用
项目代码已完全开源。系统的调度与监控功能完善,对于希望构建自动化数据流水线的团队而言,它能够很好地融入现有的运维与DevOps体系。
Github:https://github.com/majinju/kettle-manager
Gitee:https://gitee.com/majinju/kettle-manager
|