Dr.Elephant Rest API -【Dr.Elephant系列文章-7】

有的情况下,用户可能不能访问Dr.Elephant的UI界面,但是需要和Dr.Elephant进行交互来获得Dr.Elephant的一些分析结果。Dr.Elephant提供了Rest API来满足用户的这个需求。

根据ID获得应用信息

根据任务的ID,可以获得任务的详细信息以及启发式算法的分析结果。

URI

http://<dr-elephant-host:port>/rest/job

请求参数


parameter


description


id


The app or job id to search

返回体


parameter


description


id


The application id


name


The name of the application


username


User who submitted the application


queueName


The queue the application was submitted to


startTime


The time in which application started


finishTime


The time in which application finished


trackingUrl


The Job history page of the app


jobType


Type of the job e.g. pig


severity


Aggregate severity of all the heuristics. Ranges from 0(LOW) to 4(CRITICAL)


score


The application score which is the sum of heuristic scores


workFlowDepth


The application depth in the scheduled flow. Depth starts from 0


scheduler


The scheduler which triggered the application


jobName


The name of the job in the flow to which this app belongs


jobExecId


A unique reference to a specific execution of the job/action(job in the workflow).


flowExecId


A unique reference to a specific flow execution.


jobDefId


A unique reference to the job in the entire flow independent of the execution.


flowDefId


A unique reference to the entire flow independent of any execution.


jobExecUrl


A url to the job execution on the schedule


flowExecUrl


A url to the flow execution on the scheduler


jobDefUrl


A url to the job definition on the scheduler


flowDefUrl


A url to the flow definition on the scheduler


yarnAppHeuristicResults


Detailed results on individual heuristics

根据执行ID获得应用信息

根据任务的执行ID或者Azkaban的执行URL,可以获得所有的任务信息。

URI

http://<dr-elephant-host:port>/rest/jobexec

请求参数


parameter


description


id


The job execution id or job execution url(azkaban) to search

返回结果

返回结果包含了这个任务的所有子任务和作业。这个返回结果序列表格可以参考上面的“根据ID获得应用信息”部分

根据任务流ID来获取应用

根据任务流的ID或者Azkaban的任务执行url可以获得任务流的详细信息。

URI

http://<dr-elephant-host:port>/rest/flowexec

请求参数


parameter


description


id


The flow execution id or flow execution url(azkaban) to search

返回结果

返回结果包含了这个任务流的所有子任务和作业。这个返回结果序列表格可以参考上面的“根据ID获得应用信息”部分

搜索任务

根据一定的参数可以搜索任务和任务流。Rest API支持通过所有的参数来进行搜索。

URI

http://<dr-elephant-host:port>/rest/search

请求参数


parameter


description


id


The job/app execution id to search. If this is provided, no other parameter is valid


flow-exec-id


The flow execution id or url(azkaban) to search, if this is provided, no other parameter is valid


username


To filter jobs by the user


severity


To filter all jobs based on severity


job-type


The type of jobs to search


analysis


The heuristic name. This goes together with severity.


finished-time-begin


The start range of finish time. (Milliseconds since epoch)


finished-time-end


The end range of finish time. (Milliseconds since epoch)


started-time-begin


The start range of start time. (Milliseconds since epoch)


started-time-end


The end range of start time. (Milliseconds since epoch)

返回结果

返回结果包含了这个任务流的所有任务。这个返回结果序列表格可以参考上面的“根据ID获得应用信息”部分

比较任务的执行

给定两个任务的ID,会返回两个任务比较的结果

URI

http://<dr-elephant-host:port>/rest/compare

请求参数


parameter


description


flow-exec-id1


Flow execution id or url(azkaban) of first flow


flow-exec-id2


Flow execution id or url(azkaban) of second flow

返回结果

结果的格式如下:

{

job_def_id1: {

flow_exec_id1 : {

app1_details,

app2_details

},

flow_exec_id2 : {

app1_details,

app2_details

}

},

job_def_id2: {

flow_exec_id1 : {

app1_details,

app2_details,

app3_details

},

flow_exec_id2 : {

app1_details,

app2_details

app3_details

}

}

}

app1_details的结果是应用的详细返回结果,这个返回结果序列表格可以参考上面的“根据ID获得应用信息”部分

作者简介:屈世超,对高并发系统设计开发感兴趣,现专注于大数据开发工作。曾任职小米科技公司服务端后台开发工程师,现担任EverString数据平台组高级开发工程师。

时间: 2024-11-03 21:58:00

Dr.Elephant Rest API -【Dr.Elephant系列文章-7】的相关文章

一个关于unity3d的系列文章

写在前面 想来从事unity3d开发已有三年多一些,寻思着该为这个奋斗了这么久的行业做些少许贡献,无赖自身水平局限加上各种拖延症,一直未能实施. 该写什么? 该怎么写? 不知道自己的能力是否能够撑起梦想,最后是否会太监? 也不会做需求分析,自己的文章会否有人问津? 更加不知道文章是否书写正确,不要传递了错误的信息,误人技术,徒留一地鸡毛. 想的多了,做得就少了,越想越无法下笔,但近日开始接手一个陈旧的项目,看着自己无法下手的代码,看着各种解不开的变量关系,才知道,虽然unity3d大大降低了做游

《PHP内核探索系列文章》系列技术文章整理收藏

<PHP内核探索系列文章>系列技术文章整理收藏 PHP内核探索系列文章收藏夹收藏有关PHP内核方面的知识的文章,对PHP高级进阶的朋友提供PHP内核方面的知识点探讨 1PHP内核探索:从SAPI接口开始 2PHP内核探索:一次请求的开始与结束 3PHP内核探索:再次探讨SAPI 4PHP内核探索:Apache模块介绍 5PHP内核探索:Zend引擎 6PHP内核探索:多进程/线程的SAPI生命周期 7PHP内核探索:单进程SAPI生命周期 8PHP内核探索:一次请求生命周期 9PHP内核探索:

转:?Android IOS WebRTC 音视频开发总结 (系列文章集合)

随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). callstats是一家做实时通讯性能测阅读全文 posted @ 2016-07-22 08:24

NHibernate之旅系列文章导航

NHibernate之旅系列文章导航 宣传语 NHibernate.NHibernate教程.NHibernate入门.NHibernate下载.NHibernate教程中文版.NHibernate实例.NHibernate2.0.NHibernate2.0教程.NHibernate之旅.NHibernate工具 我的NHibernate全部文章在http://www.cnblogs.com/lyj/category/129155.html 导游 NHibernate是把Java的Hiberna

openstack系列文章(三)

学习openstack的系列文章-glance glance 基本概念 glance 架构 openstack CLI Troubleshooting 1. glance 基本概念 在 openstack 中提供 Image service 的是 Glance, 它让用户能够发现.获取和保存 Image. 其主要功能是: 通过提供 REST API 使得用户能够查询和获取 image 的元数据和 image 本身. 2. glance 架构 2.1 glance-api glance-api 是

openstack系列文章(四)

学习 openstack 的系列文章 - Nova Nova 基本概念 Nova 架构 openstack Log Nova 组件介绍 Nova 操作介绍 1. Nova 基本概念 Nova 是 openstack 最核心的服务,负责管理和维护云环境的计算资源,虚拟机的生命周期管理就是通过 Nova 来实现的 . 2. Nova 架构 2.1 Nova 基本组件 如上图所示,Nova 由多个组件构成,这些组件以子服务的形式运行 . 举例,通过  systemctl status openstac

《深入理解Java集合框架》系列文章

Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framework, JCF)的资料却很少,甚至很难找到一本专门介绍它的书籍,这给Java学习者们带来不小的麻烦.我深深的不解其中的原因.虽然JCF设计参考了STL,但其定位不是Java版的STL,而是要实现一个精简紧凑的容器框架,对STL的介绍自然不能替代对JCF的介绍. 本系列文章主要从数据结构和算法层面分析

Jenkins pipeline 入门到精通系列文章

Jenkins2 入门到精通系列文章. Jenkins2 下载与启动jenkins2 插件安装jenkins2 hellopipelinejenkins2 pipeline介绍jenkins2 javahelloworldjenkins2 groovy入门jenkins2 pipeline入门jenkins2 pipeline高级jenkins2 Jenkinsfilejenkins2 multibranchjenkins2 Jenkinsfile和loadjenkins2 groovy脚本参考

saltstack之基础入门系列文章简介

使用saltstack已有一段时间,最近由于各种原因,特来整理了saltstack基础入门系列文章,已备后续不断查阅(俗话说好记性不如烂笔头),也算是使用此工具的一个总结.saltstack的前六篇文章主要讲述了saltstack的安装.远程执行.配置管理.数据系统以及jinjia模板等知识点,从第七篇往后的文章是一些使用saltstack的案例,包括系统初始化,rpm包以及源码安装等. 博客中saltstack系列的文章,适合初学者从零开始学习直到逐渐熟练使用.文章具有一定的连贯性,如果没有任

知识分享---EmberJs系列文章

JS前端框架之Ember.js系列文章 本文为文章索引,主要是罗列Ember.js的相关文章便于阅读. 基础篇 1. EmberJs之What|Why|HoW 进阶篇 高级篇