Elastic Job Lite事件追踪

Elastic-Job提供了事件追踪功能,可通过事件订阅的方式处理调度过程的重要事件,用于查询、统计和监控。Elastic-Job目前提供了基于关系型数据库两种事件订阅方式记录事件。

通过代码配置开启事件追踪

Elastic-Job-Lite在配置中提供了JobEventConfiguration,目前支持数据库方式配置。

    // 初始化数据源
    DataSource dataSource = ...;
    // 定义日志数据库事件溯源配置
    JobEventConfiguration jobEventRdbConfig = new JobEventRdbConfiguration(dataSource);
    // 初始化注册中心
    CoordinatorRegistryCenter regCenter = ...;
    // 初始化作业配置
    LiteJobConfiguration liteJobConfig = ...;
    new JobScheduler(regCenter, liteJobConfig, jobEventRdbConfig).init(); 

具体配置方式请参见开发指南.

事件追踪的event_trace_rdb_url属性对应库自动创建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG两张表以及若干索引。

JOB_EXECUTION_LOG字段含义

字段名称 字段类型 是否必填 描述
id VARCHAR(40) 主键
job_name VARCHAR(100) 作业名称
task_id VARCHAR(1000) 任务名称,每次作业运行生成新任务
hostname VARCHAR(255) 主机名称
ip VARCHAR(50) 主机IP
sharding_item INT 分片项
execution_source VARCHAR(20) 作业执行来源。可选值为NORMAL_TRIGGER, MISFIRE, FAILOVER
failure_cause VARCHAR(2000) 执行失败原因
is_success BIT 是否执行成功
start_time TIMESTAMP 作业开始执行时间
complete_time TIMESTAMP 作业结束执行时间

JOB_EXECUTION_LOG记录每次作业的执行历史。分为两个步骤:

  1. 作业开始执行时向数据库插入数据,除failure_cause和complete_time外的其他字段均不为空。
  2. 作业完成执行时向数据库更新数据,更新is_success, complete_time和failure_cause(如果作业执行失败)。

JOB_STATUS_TRACE_LOG字段含义

字段名称 字段类型 是否必填 描述
id VARCHAR(40) 主键
job_name VARCHAR(100) 作业名称
original_task_id VARCHAR(1000) 原任务名称
task_id VARCHAR(1000) 任务名称
slave_id VARCHAR(1000) 执行作业服务器的名称,Lite版本为服务器的IP地址,Cloud版本为Mesos执行机主键
source VARCHAR(50) 任务执行源,可选值为CLOUD_SCHEDULER, CLOUD_EXECUTOR, LITE_EXECUTOR
execution_type VARCHAR(20) 任务执行类型,可选值为NORMAL_TRIGGER, MISFIRE, FAILOVER
sharding_item VARCHAR(255) 分片项集合,多个分片项以逗号分隔
state VARCHAR(20) 任务执行状态,可选值为TASK_STAGING, TASK_RUNNING, TASK_FINISHED, TASK_KILLED, TASK_LOST, TASK_FAILED, TASK_ERROR
message VARCHAR(2000) 相关信息
creation_time TIMESTAMP 记录创建时间

JOB_STATUS_TRACE_LOG记录作业状态变更痕迹表。可通过每次作业运行的task_id查询作业状态变化的生命周期和运行轨迹。

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Elastic Job Lite事件追踪

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址