kettle单实例环境下自身没有监控工具,但在集群下自带了监控工具。


一、集群自带的监控
kettle自带的集群监控工具可以监控转换的执行情况。

配置好集群后,打开浏览器:输入http://localhost:8080,输入子服务器的用户名和密码



进入后,点击show status:


点击转换名称可以看到转换的详情:


该方式有三个缺点:
(1)无法监控job的执行情况。
(2)另外,如果一个转换不使用集群执行,也不会被监控。
(3)该监控的获取的数据来取内存,在关闭carte服务器后,数据消失,之前的监控信息丢失
综合以上信息,该监控并不能满足ETL需求,需要手动做监控程序。


二、自己开发kettle监控程序。
自己开发监控程序,原理是在转换和任务中设置log,执行情况会记录在日志中,通过读取日志情况判断执行情况。
2.1.在转换和任务中设置日志
转换:

一共有5种日志

a.转换日志 
    显示转换名称、开始时间、结束时间、执行状态等
b.步骤日志
    显示步骤相关情况(集群下不写入该表)

c.运行日志
    在默认日志级别下不没有数据(集群下不写入该表)
d.通道日志
    各日志通道的输出情况(集群下不写入该表)

e.指标日志(略)

2.2 任务日志
作业:

日志:

a.作业日志表
    保存作业的开始时间、结束时间、状态等

b.作业项日志表
    作业中的项目运行情况

c.日志通道日志表





2.3 监控流程
2.3.1 从资源库读取job列表
  1. select id_job,name from kettle_res.r_job a ;
2.3.2 读取job中的转换的执行状态、上次执行时间
  1. select distinct a.id_job,a.name job_name,b.name trans_name,c.status trans_status,c.LOGDATE laste_exec_time
  2. from kettle_res.r_job a left join kettle_res.r_jobentry b on a.id_job=b.id_job and b.id_jobentry_type=87
  3. left join test.trans_logs c on b.name=SUBSTRING_INDEX(c.transname,'(',1)
  4. and c.logdate= (select max(logdate) from test.trans_logs d where SUBSTRING_INDEX(d.transname,'(',1) =SUBSTRING_INDEX(c.transname,'(',1) group by SUBSTRING_INDEX(d.transname,'(',1) )
  5. group by a.name order by a.id_job,b.id_jobentry
结果:

至此完成了最基本的监控。

2.3.2 job执行历史
select JOBNAME,status,LOGDATE from test.job_log where jobname=? order by LOGDATE desc

2.3.3 转换执行历史
select transname,status,logdate from test.trans_logs where SUBSTRING_INDEX(transname,'(',1)=? order by logdate desc

2.3.4 短信

在执行出错时可以发送邮件。


注意:看邮件提供商是否支持pop3/SMTP协议,是否需要使用SSL连接。

2.3.5 短信监控





KETTLE监控的更多相关文章

  1. kettle监控销售人员当月每天任务完成率_20161107周一

    1.上面是目标表,其中激活客户数为当月每天之前30天未下单的客户 2.写SQL SELECT a.销售员,c.当月销售确认额,a.当月订单额,b.当月首单数,b.当月激活数, a1,b.b1,b.c1 ...

  2. 技术杂记-改造具有监控功能的数据库连接池阿里Druid,支持simple-jndi,kettle

    kettle内置的jndi管理是simple-jndi,功能确实比较简单,我需要监控kettle性能,druid确实是很不错的选择,但没有提供对应的支持,我改进了druid源码,实现了simple-j ...

  3. 基于kettle的简单HTTP接口监控

        需求:监控系统中使用的所有http接口,要求简单,易用. 一般的思路也就是发送get/post请求,然后检查接口的响应结果. 如果写代码,要处理http请求,检查http响应,实现发邮件,写d ...

  4. kettle转换和作业插件开发及调试

    这是一篇几年前写下的文档,最近打算根据这篇文档重写一下kettle插件的教程.结果各种理由,一推再推.今天索性将这篇文档发布出来,分享给大家,例子等有空再补上.这是一篇基于kettle3.2基础上完成 ...

  5. kettle系列-1.kettle源码获取与运行

    第一次写博客,心里有点小激动,肯定有很多需要改进的地方,望海涵. kettle算是我相对较为深入研究过的开源软件了,也是我最喜欢的开源软件之一,它可以完成工作中很多体力劳动,在ETL数据抽取方面得到了 ...

  6. 【转】Kettle集群

    本文转自:http://blog.csdn.net/dqswuyundong/article/details/5952009 Kettle集群 Kettle是一款开源的ETL工具,以其高效和可扩展性而 ...

  7. [目录]Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案

    第一部分:开始 1         ETL入门 1.1   OLTP和数据仓库对比 1.2   ETL是什么 1.2.1          ETL解决方案的演化过程 1.2.2          ET ...

  8. kettle发送邮件

    使用kettle发送邮件是为了更好的监控ETL的加载信息 以下是我通过测试的一个案例 1. JOB示意图 2.邮件发送配置详细信息 2.1地址信息配置 2.2 服务器信息配置 上图中所说的" ...

  9. Kettle简介

    ETL和Kettle简介     ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它是构建数据仓库的重要环节.数据仓库是面向主题的.集成的.稳定的且随时间不断变 ...

随机推荐

  1. webpack4.x最详细入门讲解

    前言 本文主要从webpack4.x入手,会对平时常用的Webpack配置一一讲解,各个功能点都有对应的详细例子,所以本文也比较长,但如果你能动手跟着本文中的例子完整写一次,相信你会觉得Webpack ...

  2. Web | 一小时看懂前端基本语法

    自从H5出来之后,web前端的势头好像就有点燎原之势.国内互联网的发展就是这样,像之前的移动App(iOS.Android),简直是火的一塌糊涂.所以不管是培训机构也好,自学成才也好,都是一种途径,能 ...

  3. 2.6 USB摄像头驱动之USB描述符

    学习目标:分析USB摄像头驱动的描述符: 一.USB设备描述符 在usb设备驱动分析那一节,也用到了usb描述符. usb描述符可分为: USB设备描述符(usb_device_descriptor) ...

  4. python3网络爬虫系统学习:第一讲 基本库urllib

    在python3中爬虫常用基本库为urllib以及requests 本文主要描述urllib的相关内容 urllib包含四个模块:requests——模拟发送请求 error——异常处理模块 pars ...

  5. C语言中的if与else if

    今天发现一个比较不理解的代码,是关于else if这个判断语句的代码.代码如下 #include<stdio.h> ; int main(void) { ) { printf(" ...

  6. 004---IO模型

    io模型 同步.异步.阻塞.非阻塞概念 同步:发出一个功能调用时,在没有得到结果之前,该调用就不会返回,原地等待 异步:相反,不需要等待 阻塞:调用结果返回之前,当前线程会被挂起,如io操作,只有在得 ...

  7. 用gogs搭建git服务器

    Gogs 是一款极易搭建的自助 Git 服务. Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 G ...

  8. 数据结构与算法之有序数组(2)——in dart

    本文比第一篇,采用了类实现.增加了运算符重载等功能.本来有序数组是不能修改某个位置的值的,因为这样会打破数组的有序性:但为了演示,保留了修改的方法,但为此增加了排序. import 'dart:mat ...

  9. 小议linux

    小议linux在虚拟机上的安装和命令行 如何解决intel-vt-x被禁用而无法正常安装虚拟机 一般在新的电脑上第一次安装虚拟都可能出现如下图的问题:intel-vt-x(intel Virtuali ...

  10. ubuntu下刻录优盘的命令

    fdisk -l  找到优盘为/dev/sdb4 sudo dd if=/home/alex/Desktop/kali-linux-2016.1-amd64.iso of=/dev/sdb4