Agent接入(脚本或HTTP任务)
Agent接入后,您可以直接在SchedulerX控制台通过白屏化的方式编写定时任务、重跑任务、查看历史执行记录、查看运行日志等。本文介绍如何使用Agent(tar包或者镜像)将非Java应用接入SchedulerX。
前提条件
应用场景
Agent接入SchedulerX的主要应用场景如下:
通过Shell脚本定时清理所有机器的日志或定时拉起某个服务。
通过Python脚本定时清理数据库历史数据。
通过HTTP接口定时扫描订单。
环境要求
运行环境要求为JRE 1.8及以上版本。
手动部署Agent
下载Agent,并解压缩。
如果您的机器开通了公网IP,可以直接执行如下命令下载:
说明X.X.X为版本号,您可以替换为自己需要的版本号,例如1.10.13。
wget https://schedulerx2.oss-cn-hangzhou.aliyuncs.com/agent/schedulerxAgent-X.X.X.tar
版本
下载地址
版本说明
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 namespace=fd2965c4-****-****-af52-bb62aa4***** groupId=hxm.test appKey=1234*****
Endpoint为终端地址,请参见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
公网
registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:1.11.6-amd64
registry.cn-hangzhou.aliyuncs.com/schedulerx/agent:1.11.6-arm64
华东1(杭州)VPC
registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:1.11.6-amd64
registry-vpc.cn-hangzhou.aliyuncs.com/schedulerx/agent:1.11.6-arm64
其他地域VPC
registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:1.11.6-amd64
registry-vpc.{regionId}.aliyuncs.com/schedulerx/agent:1.11.6-arm64
部署Agent。
参数说明:
docker run --env SCHEDULERX_ENDPOINT="addr-hz-internal.edas.aliyun.com" \ --env SCHEDULERX_NAMESPACE="fd2965c4-****-****-af52-bb62aa4*****" \ --env SCHEDULERX_GROUPID="hxm.test" \ --env SCHEDULERX_APPKEY="1234*****" \ -d {image id}
SCHEDULERX_ENDPOINT即Endpoint。
SCHEDULERX_NAMESPACE
为命名空间ID,可以在控制台的命名空间 页面获取。SCHEDULERX_GROUPID
为应用ID,SCHEDULERX_APPKEY
为应用Key,可以在控制台的应用管理 页面获取。
启动部署任务后,您可以通过
docker logs
命令查看日志。