azkaban自带的监控

azkban目前仅仅支持邮件监控,又分两个部分:

flow自带的邮件功能

  • First failure

    当flow中出现第一个failure时发邮件
  • Flow finished

    在flow执行完后,有错误再出邮件

    发的邮件内容如下:

SLA

Service-Level Agreement的缩写,意思是服务等级协议.即azkaban上表示,在什么时候内满足什么条件.SLA的设置:



  • FINISH

    表示flow在要什么时间点之前完成,不管是success还是failure.
  • SUCCESS

    表示flow要在什么时间点之前执行功能.

    目前azkaban有两种action:
  • Emain Action

    不满足SLA条件,则发送EAMIL
  • kill Actinon

    不满足SLA条件,则kill flow

总结

不管是flow自带的邮件功能还是SLA,都是flow级别的预警,都不针对单个的job发邮件

写程序监控job情况

写程序监控job情况有两种方式:

监控azkaban的元数据库

写程序查询azkaban的元数据库,监控job的运行情况.以下sql可以查出0点-8点之间所有的flow,job执行情况

select
a.id as project_id,
a.name project_name,
b.flow_id,
c.status flow_status,#50success 70 failed 30 running 80 running with failure 60 killed
from_unixtime(c.start_time/1000) flow_start_time,
from_unixtime(c.end_time/1000) flow_end_time,
d.job_id,
d.status job_status,
d.start_time job_start_time,
d.end_time job_end_time
from projects a left join
(select project_id,max(version) version,flow_id from project_flows group by project_id,flow_id) b
on a.id = b.project_id
left join execution_flows c
on a.id = c.project_id and b.flow_id = c.flow_id and b.version = c.version
and c.start_time>= unix_timestamp( date_format(curdate(),'%Y-%m-%d %H:%i:%S'))*1000 #早上0点
and c.end_time<=unix_timestamp(date_format(date_add(curdate(), interval 8 HOUR),'%Y-%m-%d %H:%i:%S'))*1000
left join execution_jobs d
on a.id = d.project_id and b.version =d.version and b.flow_id=d.flow_id
and d.start_time>= unix_timestamp( date_format(curdate(),'%Y-%m-%d %H:%i:%S'))*1000 #早上0点
and d.end_time<=unix_timestamp(date_format(date_add(curdate(), interval 8 HOUR),'%Y-%m-%d %H:%i:%S'))*1000
where a.name in ('E_S1','E_S3')
order by a.name,case when c.start_time is null then 9999999999999999999 else c.start_time end

使用azkaban API监控

通过azkaban的aip: http://azkaban.github.io/azkaban/docs/latest/#api-fetch-a-flow-execution job的执行情况.

总结

azkaban自带的监控只支持flow级别的监控,job级别的监控必须通过开发程序实现.

6.azkban的监控的更多相关文章

  1. 使用Monit监控本地进程

    目前用它监控某些服务,失败自动重启,同时监控特定的日志文件,如果有变化,就发邮件报警 安装不细写了,网上好多 我先用cat /proc/version看了下我的系统是el6的,于是wget http: ...

  2. node服务的监控预警系统架构

    需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...

  3. 采用MiniProfiler监控EF与.NET MVC项目(Entity Framework 延伸系列1)

    前言 Entity Framework 延伸系列目录 今天来说说EF与MVC项目的性能检测和监控 首先,先介绍一下今天我们使用的工具吧. MiniProfiler~ 这个东西的介绍如下: MVC Mi ...

  4. Logstash实践: 分布式系统的日志监控

    文/赵杰 2015.11.04 1. 前言 服务端日志你有多重视? 我们没有日志 有日志,但基本不去控制需要输出的内容 经常微调日志,只输出我们想看和有用的 经常监控日志,一方面帮助日志微调,一方面及 ...

  5. C# 利用性能计数器监控网络状态

    本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...

  6. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  7. 【开源】.net 分布式架构之监控平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理 ...

  8. Opserver开源的服务器监控系统(ASP.NET)

    Opserver是Stack Exchange下的一个开源监控系统,系统本身由C#语言开发的ASP.NET(MVC)应用程序,无需任何复杂的应用配置,入门很快.下载地址:https://github. ...

  9. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

随机推荐

  1. openresty 配置 mongodb 可操作插件

    1.下载lua-resty-mongol https://github.com/bigplum/lua-resty-mongol 2.配置_mongo.conf文件,在conf创建_mongo.con ...

  2. HTML a的连接

    QQ电脑端 <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=XXXXXX&site ...

  3. ElasticSearch : APT-GET安装方式

    Ubuntu下安装ES 新建非ROOT管理员用户 安装和配置JDK 打开下面的地址 https://www.elastic.co/guide/en/elasticsearch/reference/cu ...

  4. mysql 操作表结构

    整理一下对mysql表结构的简单操作,dos窗口模式的,现在基本上都是些图形化操作mysql,像这种命令形式的少了很多,暂时记忆点,以防以后忘记. 从数据库的创建开始: show databases; ...

  5. ArrayList的源码分析(基于jdk1.8)

    1.初始化 transient Object[] elementData; //实际存储元素的数组 private static final Object[] DEFAULTCAPACITY_EMPT ...

  6. Python学习手册之字符类和元字符深入

    在上一篇文章中,我们介绍了 Python 的正则表达式和元字符,现在我们介绍 Python 的字符类和对元字符进行深入讲解.查看上一篇文章请点击:https://www.cnblogs.com/dus ...

  7. elasticsearch按范围聚合

    范围聚合适用于对数据按照指定范围进行分类聚合的应用场景,from和to表示范围起始值的半开半闭区间(包含from值不包含to值),key表示别名 如 {:key=>"2h", ...

  8. 插入排序,C语言实现

    插入排序是稳定排序,时间复杂度最低为O(n),最高为O(n^2),平均为O(n^2). 插入排序是将数组分为两部分,一部分已经排好序,另一部分未排好序,每次从未排好序的部分取第一个元素插入到已经排好序 ...

  9. Hibernate学习笔记一

    1 框架体系结构 2 hibernate入门 2.1 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational: ...

  10. Making AJAX Applications Crawlable

    https://developers.google.com/webmasters/ajax-crawling/