如何获取Oozie作业每天运行的状态?我们在Oozie协调器中运行了许多作业,目前我们正在通过Hue/Oozie浏览器进行监控。
有没有任何方法可以获得一个包含协调员名称/工作流名称以及日期和状态的日志文件?我们可以编写任何程序或脚本来实现这一点吗?
获取所有正在运行的oozie协调员状态的命令
oozie jobs -jobtype coordinator -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie
获取所有正在运行的oozie工作流状态的命令
oozie jobs -filter status=RUNNING -len 1000 -oozie http://localhost:11000/oozie
获取特定协调员ID 的所有工作流状态的命令
oozie job -info COORDINATOR_ID_HERE
基于这些查询,您可以编写所需的脚本来获得所需的内容。
术语解释:
oozie
:启动oozie的命令job/jobs
:neneneba APIlen
:要显示的oozie工作流/协调员数量-oozie
:指定oozie url的参数-filter
:指定筛选器列表的参数
完整的文档https://oozie.apache.org/docs/3.1.3-incubating/DG_CommandLineTool.html
您可以使用以下命令并将其放入脚本中,以便每天运行/cron。
oozie jobs -oozie http://localhost:11000/oozie -filter status=RUNNING -len 2
oozie jobs -oozie http://localhost:11000/oozie -filter startCreatedTime=2016-06-28T00:00Z;endcreatedtime=2016-06-28T10:00Z -len 2
基本上,您使用oozie的jobs
api和-filter
命令来获取有关工作流/协调器/捆绑包的信息。-filter
命令支持基于status
/startCreatedTime
/name
获取数据的两个选项。
默认情况下,如果您想获得协调器/绑定器信息,它会带来工作流记录信息。可以将-jobtype
参数和值用作coord/bundle
。
如果你需要什么特别的东西,请告诉我。oozie文档对于这个功能来说有点过时了。
下面的命令对我有效。
oozie jobs -oozie http://xx.xxx.xx.xx:11000/oozie -jobtype wf -len 300 | grep 2016-07-01 > OozieJobsStatus_20160701.txt
但是,我们需要解析该文件。