Agent接入后,您可以直接在SchedulerX控制台通过白屏化的方式编写定时任务、重跑任务、查看历史执行记录、查看运行日志等。本文介绍如何使用Agent(tar包或者镜像)将非Java应用接入SchedulerX。
前提条件
Agent支持DataWorks任务的调度执行,具体详情,请参见DataWorks任务。
应用场景
Agent接入SchedulerX的主要应用场景如下:
通过Shell脚本定时清理所有机器的日志或定时拉起某个服务。
通过Python脚本定时清理数据库历史数据。
通过HTTP接口定时扫描订单。
环境要求
运行环境要求为JRE 1.8及以上版本。
手动部署Agent
下载Agent,并解压缩。
如果您的机器开通了公网IP,可以直接执行如下命令下载:
说明X.X.X为版本号,您可以替换为自己需要的版本号,例如1.12.5。
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tar版本
下载地址
版本说明
Agent 1.13.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.13.2.tar.gz
新增特性
支持CGroup V2下CPU指标采集
支持任务执行线程池自定义线程池大小(参数Key:share.pool.size)
Agent 1.12.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.12.5.tar
新增特性:
支持Http任务自定义线程池大小。
脚本任务可以返回最后一行标准输出作为执行结果。
Agent 1.11.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.11.5.tar
问题修复:
修复Netty和Logback的安全漏洞。
修复K8s任务too old resource version问题。
Agent 1.10.13
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.13.tar
新增特性:
支持一个机器同时部署多个Agent。
HTTP Agent任务支持Response超过1000字节。
优化日志,减少历史日志存储。
Agent 1.10.5
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.10.5.tar
新增特性:
支持优雅下线。
日志服务支持应用分组隔离。
Agent 1.9.8
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.9.8.tar
新增特性:
支持Agent模式的HTTP任务。
支持脚本任务执行失败后,返回最后一行日志。
支持K8s任务。
Agent 1.7.10
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.7.10.tar.gz
问题修复:
修复秒级别任务运行缓慢的问题。
修复日志服务可能导致OOM的问题。
Agent 1.4.2
https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-1.4.2.tar.gz
新增特性:支持日志服务。
重要使用wget指令下载Agent,若连接网站超时,请开启公网IP或参见上传或下载文件(Linux)。
进入schedulerxAgent/conf目录,配置agent.properties文件。
配置信息如下:
endpoint=addr-hz-internal.edas.aliyun.com # 公网区域使用domainName代替endpoint接入 # domainName={domainName} namespace=fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2 groupId=hxm.test appKey=12******789Endpoint为终端地址,请参见Endpoint列表。
namespace为命名空间ID,你可以在命名空间 页面获取。
应用ID和应用key为应用的唯一标识和账号,您可以在应用管理页面获取。
进入schedulerxAgent/bin目录,执行start.sh命令启动部署。
说明如果要设置启动Agent的内存,可以执行
start-200m.sh、start-500m.sh和start-1g.sh。启动过程中,您可以根据需要执行以下操作:
停止Agent命令:进入schedulerxAgent/bin目录,执行stop.sh。
查看日志:日志路径为${user.home}/logs/schedulerx/worker.log。
user.home可以通过执行
ps aux | grep java命令查看。如果是admin用户启动的进程,日志路径为/home/admin/logs/schedulerx/worker.log;如果是root用户启动的进程,日志路径为/root/logs/schedulerx/worker.log。
回显信息包含
Schedulerx Worker started时,表示部署成功。说明运行环境要求为 JDK 1.8 至 14 版本。若使用 JDK 版本超过 14,则需在 Agent 安装目录的
schedulerxAgent/bin/start.sh文件中去除-XX:+UseConcMarkSweepGC部分。
通过Docker镜像部署Agent
根据您的网络环境和CPU架构选择镜像。
说明以下镜像地址需通过公网访问。
网络
x86_64
arm64
(公网)华东1(杭州)
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.cn-hangzhou.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
(公网)新加坡
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-amd64
schedulerx-registry.ap-southeast-1.cr.aliyuncs.com/schedulerx2/agent:latest-arm64
部署Agent。
参数说明:
docker run --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \ --env SCHEDULERX_NAMESPACE="fd2965c4-xxxx-xxxx-af52-bb62aa4f19f2" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="12*****789" \ -d {image id}SCHEDULERX_ENDPOINT即Endpoint。
SCHEDULERX_NAMESPACE为命名空间ID,可以在控制台的命名空间 页面获取。SCHEDULERX_GROUPID为应用ID。SCHEDULERX_APPKEY为应用Key,可以在控制台的应用管理 页面获取。
启动部署任务后,您可以通过
docker logs命令查看日志。
通过K8s镜像部署deployment
如果已有K8s环境,可直接通过schedulerx-agent.yaml部署。
变量 | 说明 |
${SCHEDULERX_ENDPOINT} | 您部署应用的地域(Region)和对应的Endpoint。详情请参见Endpoint列表。例如 |
${SCHEDULERX_NAMESPACE} | namespace为命名空间ID,可以在控制台左侧导航栏命名空间页面获取。
|
${SCHEDULERX_GROUPID} | groupId为应用ID,可以在控制台左侧导航栏应用管理页面获取。
|
${SCHEDULERX_APPKEY} | appKey为应用key,可以在控制台左侧导航栏应用管理页面获取。
|
${SCHEDULERX_SHARE_POOL_SIZE} | 非必选,自定义配置任务执行线程池大小。 |


