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
命令查看日志。