linux kettle web管理,Kettle 的 Web 端管理工具 Kettle-Manager

软件介绍

平台简介

出发点

专门为kettle这款优秀的ETL工具开发的web端管理工具。

kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。

基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。

关键信息

功能介绍

主界面

aebc798877795081a68b87d874d19a8e.png

参数设置

job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。

c10bebc8f2aba42a53830748b446c584.png 

5d790bcde04bd472f8bffa9e63300419.png

定时设置

操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。

63a214e4af185a8a0496f5b30145336b.png 

cc4289e7623b0517f6c1298153c9c6e2.png

运行与停止

核心功能就不说了。

d8889385bf9443e2da9efb1ca2e7c764.png

强制结束

强制结束等待的作业,针对正常停止无效的情况。

bb640d12e82cfcb8a8bf765a47f64b57.png

实时日志

实时查看作业运行日志,这个功能看起来不起眼,实际应该是很有用的。

4f15ce601b30dec1f935b1ac65a15b6b.png

作业目录

获取作业目录。

d7992b366ccaad054895a9e64c4d4f31.png

新建作业

支持页面新建特定类的作业,当前是四类。这些作业都支持页面修改。其中的KM作业是基于我的插件开发。这里的作业继承com.oss.job.AbsJob,这样的作业支持这里的KM作业,也支持下面的定时调度使用。

7aa637dc9681b777b896b11e798dbde3.png 

4e9bd8d0e90fecb3992044f73f6623a4.png

删除作业

支持批量删除作业,这个很危险哦,小心使用,不会删除子转换和作业。

990c0307e0a50b34b334b01adaef13ec.png

失败重启

支持配置失败自动重启、将job_version字段作为作业类别使用,便于分类管理。

1906142d201926af7323cbb9d0d43d07.png

定时调度

支持cron定时的调度,所有类必须继承:com.oss.job.AbsJob,作业支持参数配置,同一个类可以重复使用,传入不同的参数。这样开发的作业页支持用于上面的KM作业配置。

febf5592ff02e0a4bab7cfc0f487262c.png 

d1864f11d4d363dd1035780b980f8954.png

con设计

引入一个cron辅助设计模块

88f6343dccf4c6fc9a23c645e91c6030.png

按顺序运行

我已经开发好了一个上面的KM作业:com.oss.job.KettleJobRunner,这样的作业可以作为KM作业使用,也可以用于定时调度使用。

这个作业已经包含在项目中了,可以直接使用。

请参考KM作业示例和定时调度示例。

运行状态

作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。

完成作业状态更新,日志文件记录的类:com.oss.job.JobManager,使用方式与按顺序运行的作业类似,请参考使用。

为了使部署简单,项目默认不依赖我开发的插件,你不使用KM作业功能,就不需要我开发的插件,项目默认已经在定时调度配置了该作业,并默认运行。

3d07ade57f210502fffee4a9e8bb3a20.png

平台级日志

一般好的作业设计都会记录自己的日志表,详细记录作业运行状况,本平台提供了平台级日志功能,不涉及业务,记录了作业的开始停止时间,最终运行结果。

6fff88ebe31f92991d84904389af9022.png

日志文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。

该功能也是由com.oss.job.JobManager作业实现。与运行状态更新是同一个作业。

b41cb1c431439cbf96a01a22f4a55a85.png

业务日志

Km数据库中有一张我设计的专门用于记录业务日志的表:METL_KETTLE_LOG,这个表是根据我们平常设计作业的经验设计的,需要作业设计人员在设计作业时填充此表数据,本平台已经默认提供了此表的查询。

此日志与平台级日志是互补关系,此日志更详细,涉及业务,平台级日志是后盾,主要用于问题排查等。

4ab073b19d8f182de1421fe18270489a.png 

f7b69252b41836428ca4729d277f85e6.png

KM作业示例

cb105072dd97323f39ac0b71c01725ab.png

JS作业示例

该作业前部分操作基本与KM类似,区别在于具体的js基本配置

67d0237ee0a239ae64c7e3125859bd97.png

SQL作业示例

该作业前部分操作基本与KM类似,区别在于需要选择数据库,然后就是数据库脚本了

74e7868fd65403ac029765e0400ad6d6.png

Shell作业示例

该作业前部分操作基本与KM类似,额外的需要配置脚本运行路径,默认:/tmp。

作业在linux上运行就写shell脚本,在windows上运行就写bat脚本。

都比较直观,就不多说了。

b8badfdb324934754dd92b88856974d4.png

定时调度示例

a371de8ad12ff55ebdab1d9db412df00.png 

ada24488c3acdc939556b0562a328b08.png

后续计划

支持简单的表对表作业新增。

考虑新增转换管理,开发通用km作业支持转换运行。

一个job同时在多个km中运行还需要考虑,日志,状态等

任务管理在设置定时时可能需要人为分散定时,考虑生成时间-运行任务数的分析图辅助进行分散定时。

作业管理显示上一次和下一次运行时间。

作业管理支持配置文件资源库运行。

改为支持文件资源库和更多数据库作为资源库。

权限管理,不同用户看到自己的作业,管理员看所有作业。

分布式、集群支持。

kettle管理工具专门为kettle这款优秀的ETL工具开发的web管理工具。项目简介kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web管理工具kettle自带了一个web管理工具界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web管理工具。本系统当前支持oracle和mysql项目功能job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。定时设置,操作界面kettle中的开始控件界面一致,这个可能是最优用的功能之一。作业的运行与停止,核心功能就不说了。实时查看作业运行日志,最大显示行数可以配置,这个功能看起来不起眼,实际应该是很有用的。后台有一个作业专门完成将运行的作业日志写入日志文件,文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。本系统是基于数据库资源库设计的,暂时不考虑支持文件资源库。本系统还附带了一个kettle插件,类似kettle已有的自定义类控件(可以在转换中写java代码)。该控件的设计时为了避免每一个需求都去开发一个kettle控件,从后台元数据管理到操作界面设计。该控件采用灵活的JSON传递参数,然后继承一个基类就可以完成一个任务了,就是说基于该控件,只需要开发一个具体的操作类就可以了。有兴趣可以看一下,详细介绍参看:http://www.cnblogs.com/majinju/p/5767046.html。界面截图主界面定时设置界面参数设置界面运行日志查看界面平台级日志,支持查询下载项目介绍主页:kettle-manager主页 标签:Kettle  ETL工具框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值