Kettle任务调度和监控通知

时间:2024-03-16 20:04:03

Kettle任务调度和监控通知

环境描述:
现在一个项目有很多个job,需要知道哪些ktr或者kjb成功,哪些失败了。
Kettle本身自带集群监控工具,但是必须是集群的条件下。详情参考http://www.mamicode.com/info-detail-1980342.html。
现在我们要自定义监控任务调度的情况,将job和ktr的运行情况保存在数据库中。

问题解决:
第一步:数据库环境建立完毕后,新建kjb,ktr的执行任务:

1.1:ktr任务:简单的a表更新b表,如图进行配置。
Kettle任务调度和监控通知
1.2:kjb任务:执行上述的ktr任务,确定好执行的ktr文件路径,如果需要到linux下执行,必须制定linux下的绝对路径,出现问题发送邮件。(邮件设置见后文)
Kettle任务调度和监控通知
1.3:在ktr界面右键“转换设置”,可以看到如下界面,点击日志进行数据表的输出,这里以转换为例,job的日志输出方式相同。
Kettle任务调度和监控通知
1.4上图中日志数据库连接为数据库日志表所存放数据库的连接,日志表名称随便命名
点击“SQL”,出现如下界面:
如果数据出现乱码,可在建表时加charset utf8 collate utf8_general_ci

Kettle任务调度和监控通知
如果还出现乱码,在kettle的数据库连接中属性加上utf8的编码格式,如下图
Kettle任务调度和监控通知
1.5:执行完1.4步骤的sql,日志表就已经创建成功,进入mysql查看,ETL_JOB1和ETL_JO2是作业操作的转换和步骤日志,ETL_LOG1和ETL_LOG2是转换操作的转换和步骤日志
Kettle任务调度和监控通知
1.6:分别运行转换和作业任务,多运行几次。
Kettle任务调度和监控通知Kettle任务调度和监控通知
1.7:查看mysql中的相关日志表:

#转换操作:
SELECT * FROM ETL_LOG1;
SELECT * FROM ETL_LOG2;
#作业操作:
SELECT * FROM ETL_JOB1;
SELECT * FROM ETL_JOB2;

Kettle任务调度和监控通知
Kettle任务调度和监控通知
Kettle任务调度和监控通知
第二步:任务监控通知(邮件形式)
2.1:以1.2的kjob任务为例:双击发送邮件图标,指定收件人和发件人的地址
Kettle任务调度和监控通知
2.2:指定SMTP服务器和端口号,qq和网易可百度查询。
Kettle任务调度和监控通知
2.3:配置一些说明信息:
Kettle任务调度和监控通知
2.4:设置携带附件,将作业里的转换操作的详细日志添加到附件发送。
Kettle任务调度和监控通知
2.5:非常重要的一点,双击作业中的转换按钮,进行日志格式设置,否则无法发送邮件。
Kettle任务调度和监控通知
2.6:运行测试,执行job错误的结果,查看邮件是否生成,结果明显:
Kettle任务调度和监控通知
2.7:查看邮件和邮件的附件,找到错误信息
Kettle任务调度和监控通知