Apache SkyWalking 常用 CLI 命令与工具详解
本文详解 Apache SkyWalking 9.7.0 的常用命令与工具,覆盖 bin 目录启动脚本、GraphQL 查询接口 curl 实测、Java Agent 参数与三种接入方式、日志检索与 systemd 运维命令,所有命令与回显均经真实环境实测,可直接照做。
Apache SkyWalking 常用 CLI 命令与工具详解
目标:详解 Apache SkyWalking 9.7.0 的常用命令行工具——bin 目录启动脚本、GraphQL 查询接口的 curl 实测、Java Agent 参数与接入方式、日志检索与 systemd 运维命令。已在 Ubuntu 22.04.5 LTS 环境实测通过,命令输入与回显逐行照抄。
一、环境信息
| 项目 | 值 |
|---|---|
| 操作系统 | Ubuntu 22.04.5 LTS |
| SkyWalking 主发行版 | apache-skywalking-apm-9.7.0(安装于 /opt/skywalking) |
| Java Agent | 9.8.0(安装于 /opt/skywalking-agent) |
| JDK | OpenJDK 17.0.20.1 |
| 运行形态 | OAP 与 UI 以 systemd 服务运行(skywalking-oap.service、skywalking-ui.service) |
| 被观测服务 | tomcat-demo(端口 18080)、tomcat-demo2(端口 19180),已接入 Agent |
| 端口 | 11800(gRPC 上报)、12800(REST/GraphQL)、8080(UI) |
| JVM 堆 | OAP 与 UI 实测均为 -Xms256m -Xmx512m |
二、工具概览
| 工具 | 位置 | 用途 |
|---|---|---|
| oapService.sh | /opt/skywalking/bin/ | 启动 OAP 后端 |
| webappService.sh | /opt/skywalking/bin/ | 启动 Web UI |
| startup.sh | /opt/skywalking/bin/ | 串联调用上述两个脚本 |
| oapServiceInit.sh / oapServiceNoInit.sh | /opt/skywalking/bin/ | 带 mode 参数的 OAP 启动变体 |
| curl | 系统自带 | 调用 OAP 的 GraphQL 查询接口 |
| jps | JDK 自带 | 列出 Java 进程与主类 |
| ss | iproute2 包 | 核查 11800/12800/8080 端口监听 |
| pgrep + /proc | procps 包 | 核查进程实际生效的启动参数 |
| systemctl / journalctl | 系统自带 | 服务托管与单元日志 |
| 日志文件 | /opt/skywalking/logs/ | OAP 与 UI 的运行日志 |
三、前置条件
- SkyWalking 9.7.0 已解压至 /opt/skywalking,Java Agent 已解压至 /opt/skywalking-agent;
- OAP 与 UI 正在运行。可用下面两条命令独立确认(与后文所有命令无关,直接可执行):
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' -d '{"query":"{ version }"}'
{"data":{"version":"9.7.0-066457b"}}
ss -tlnp | grep -E '11800|12800|8080'
LISTEN 0 4096 *:12800 *:* users:(("java",pid=7496,fd=2781))
LISTEN 0 4096 *:11800 *:* users:(("java",pid=7496,fd=2777))
LISTEN 0 4096 *:8080 *:* users:(("java",pid=7671,fd=88))
- 依赖包已安装:openjdk-17-jdk-headless(含 jps)、iproute2(含 ss)、procps(含 pgrep)、curl。
四、bin 启动脚本详解
4.1 脚本清单
ls /opt/skywalking/bin
oapService.bat
oapService.sh
oapServiceInit.bat
oapServiceInit.sh
oapServiceNoInit.bat
oapServiceNoInit.sh
startup.bat
startup.sh
webappService.bat
webappService.sh
Linux 服务器使用 .sh 脚本,.bat 为 Windows 侧对应版本。五个 shell 脚本均为前台执行型:脚本末行以 exec 方式将自身进程替换为 java 进程,标准输出被丢弃(1>/dev/null),标准错误分别重定向到 logs/oap.log 或 logs/webapp-console.log。
4.2 oapService.sh:启动 OAP
脚本行为要点(源自脚本源码):
| 要点 | 说明 |
|---|---|
| 安装目录推导 | 未设置 OAP_HOME 时按脚本位置自动推导为 bin 的上级目录 |
| 日志目录 | 未设置 OAP_LOG_DIR 时使用安装目录下 logs,目录不存在会自动创建 |
| JVM 参数 | 读取环境变量 JAVA_OPTS,未设置时默认 -Xms256M -Xmx4096M |
| 类路径 | 安装目录 config 与 oap-libs 下全部 jar |
| 主类 | org.apache.skywalking.oap.server.starter.OAPServerStartUp |
启动命令(显式覆盖堆参数,后台运行):
export JAVA_OPTS='-Xms256M -Xmx512M'
nohup /opt/skywalking/bin/oapService.sh > /tmp/oap-start.out 2>&1 &
执行后终端立即返回且无脚本输出,属设计行为(标准输出被脚本丢弃)。确认进程真实启动:
cat /proc/$(pgrep -f 'OAPServerStartU[p]' | head -1)/cmdline | tr '\0' '\n' | grep -E 'Xms|Xmx'
-Xms256m
-Xmx512m
说明:pgrep 模式写成 OAPServerStartU[p](方括号正则)是为了避免 pgrep 命中执行命令的 shell 自身,后文同。
4.3 webappService.sh:启动 Web UI
脚本行为要点:未设置 WEBAPP_HOME 时按脚本位置推导安装目录;日志目录由 WEBAPP_LOG_DIR 控制,默认安装目录下 logs;JVM 参数同样走 JAVA_OPTS,未设置时默认 -Xms256M -Xmx1024M 并附加 -Dwebapp.logDir 指定日志目录;主类为 org.apache.skywalking.oap.server.webapp.ApplicationStartUp,类路径为 webapp/skywalking-webapp.jar 与 webapp 目录。
export JAVA_OPTS='-Xms256M -Xmx512M'
nohup /opt/skywalking/bin/webappService.sh > /tmp/webapp-start.out 2>&1 &
启动后核查堆参数与端口:
cat /proc/$(pgrep -f 'ApplicationStartU[p]' | head -1)/cmdline | tr '\0' ' ' | grep -oE '\-Xms256m -Xmx512m'
-Xms256m -Xmx512m
ss -tlnp | grep 8080
LISTEN 0 4096 *:8080 *:* users:(("java",pid=7671,fd=88))
4.4 startup.sh:一体化脚本与前台阻塞特性
脚本仅两行有效调用:先执行 oapService.sh,再执行 webappService.sh。由于两个脚本都是前台 exec 型,直接运行 startup.sh 会阻塞在 OAP 前台进程上,UI 启动行不会被执行到。实测验证:
timeout 6 /opt/skywalking/bin/startup.sh
exit=124
6 秒内命令未返回(timeout 以退出码 124 终止),期间无任何输出。结论:
- startup.sh 适合交给 systemd、supervisor 等托管工具在前台拉起单个 OAP 进程;
- 需要 OAP 与 UI 同时启动时,分别前台运行两个脚本(如分别由两个 systemd 单元托管),不要依赖 startup.sh。
4.5 oapServiceInit.sh 与 oapServiceNoInit.sh
两个变体脚本与 oapService.sh 的唯一差别是启动时附加系统属性:
| 脚本 | 附加参数 | 场景 |
|---|---|---|
| oapServiceInit.sh | -Dmode=init | 首次接入 Elasticsearch 等外部存储前,仅完成存储初始化后退出 |
| oapServiceNoInit.sh | -Dmode=no-init | 明确以不初始化模式启动 |
| oapService.sh | 无 | 默认启动,日常使用 |
默认 H2 内置存储无需 init,两个变体仅在外部存储首次接入时使用。
4.6 堆参数生效的两种核查方式
方式一,/proc 文件(见 4.2、4.3 节命令)。方式二,jps:
jps -v | grep -E 'OAPServerStartUp|ApplicationStartUp' | grep -oE ' -Xms256m -Xmx512m'
-Xms256m -Xmx512m
-Xms256m -Xmx512m
两行分别对应 OAP 与 UI 进程,说明脚本 JAVA_OPTS 默认值已被显式覆盖。systemd 托管时堆参数写在单元文件 Environment 中,值含空格必须加双引号,否则 systemd 把空格解析为变量分隔符,进程实际只带前半个参数。
五、OAP GraphQL 查询接口 curl 实测
5.1 接口入口与 version 探活
OAP 的 12800 端口提供 GraphQL 查询协议,统一入口为 POST /graphql,请求体为 JSON,查询语句放在 query 字段。探活命令:
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' -d '{"query":"{ version }"}'
{"data":{"version":"9.7.0-066457b"}}
UI 在 8080 端口也提供同样的 GraphQL 代理,防火墙只放行 8080 时查询不受影响:
curl -s -X POST http://localhost:8080/graphql -H 'Content-Type: application/json' -d '{"query":"{ version }"}'
{"data":{"version":"9.7.0-066457b"}}
5.2 服务与 Endpoint 查询
查询时间窗口内的全部服务(Duration 的 step 为 DAY 时 start/end 写日期):
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"query ($duration: Duration!) { getAllServices(duration: $duration) { id name } }","variables":{"duration":{"start":"2026-10-12","end":"2026-10-12","step":"DAY"}}}'
{"data":{"getAllServices":[{"id":"dG9tY2F0LWRlbW8y.1","name":"tomcat-demo2"},{"id":"dG9tY2F0LWRlbW8=.1","name":"tomcat-demo"}]}}
按服务 ID 与关键字查询 Endpoint:
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"query ($serviceId: ID!, $keyword: String!, $limit: Int!) { searchEndpoint(keyword: $keyword, serviceId: $serviceId, limit: $limit) { id name } }","variables":{"serviceId":"dG9tY2F0LWRlbW8=.1","keyword":"/","limit":10}}'
{"data":{"searchEndpoint":[{"id":"dG9tY2F0LWRlbW8=.1_R0VUOi9wcm94eTIuanNw","name":"GET:/proxy2.jsp"}]}}
5.3 Trace 查询
查询指定服务的 Trace 列表,列表查询、详情查询、指标查询的入参名统一为 condition:
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"query ($serviceId: ID!, $duration: Duration!) { queryBasicTraces(condition: {serviceId: $serviceId, queryDuration: $duration, traceState: ALL, queryOrder: BY_DURATION, paging: {pageNum: 1, pageSize: 3}}) { traces { segmentId endpointNames start duration isError } } }","variables":{"serviceId":"dG9tY2F0LWRlbW8=.1","duration":{"start":"2026-10-12","end":"2026-10-12","step":"DAY"}}}'
{"data":{"queryBasicTraces":{"traces":[{"segmentId":"ed408ab69ba441a083c38aadbb8fd85d.43.17917744749040000","endpointNames":["GET:/proxy2.jsp"],"start":"1791774474904","duration":8,"isError":false}]}}}
5.4 拓扑与指标查询
全局拓扑(节点与调用关系):
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"query ($duration: Duration!) { getGlobalTopology(duration: $duration) { nodes { id name } calls { source target } } }","variables":{"duration":{"start":"2026-10-12","end":"2026-10-12","step":"DAY"}}}'
{"data":{"getGlobalTopology":{"nodes":[{"id":"VXNlcg==.0","name":"User"},{"id":"dG9tY2F0LWRlbW8=.1","name":"tomcat-demo"},{"id":"dG9tY2F0LWRlbW8y.1","name":"tomcat-demo2"}],"calls":[{"source":"VXNlcg==.0","target":"dG9tY2F0LWRlbW8=.1"},{"source":"VXNlcg==.0","target":"dG9tY2F0LWRlbW8y.1"}]}}}
单服务指标(service_cpm 为每分钟请求数,天粒度窗口返回逐日值):
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"query ($duration: Duration!) { readMetricsValues(condition: {name: \"service_cpm\", entity: {scope: Service, serviceName: \"tomcat-demo\", normal: true}}, duration: $duration) { label values { values { id value } } } }","variables":{"duration":{"start":"2026-10-12","end":"2026-10-12","step":"DAY"}}}'
{"data":{"readMetricsValues":{"label":null,"values":{"values":[{"id":"service_cpm_20261012_dG9tY2F0LWRlbW8=.1","value":0}]}}}}
5.5 类型内省与错误返回排查
GraphQL 支持内省查询,用它确认枚举取值而无需翻文档(查询排序枚举 QueryOrder):
curl -s -X POST http://localhost:12800/graphql -H 'Content-Type: application/json' \
-d '{"query":"{ __type(name: \"QueryOrder\") { enumValues { name } } }"}'
{"data":{"__type":{"enumValues":[{"name":"BY_START_TIME"},{"name":"BY_DURATION"}]}}}
查询了不存在的字段时,返回 errors 数组并指明字段与位置,可用于校对查询语句:
{"errors":[{"message":"Validation error (FieldUndefined@[noSuchField]) : Field 'noSuchField' in type 'Query' is undefined","locations":[{"line":1,"column":3}],"extensions":{"classification":"ValidationError"}}]}
5.6 查询协议要点
- Duration 格式必须与 step 匹配:DAY 对应 yyyy-MM-dd,MINUTE 对应 yyyy-MM-dd HHmm(四位小时分钟);DAY 窗口混入时间部分会直接报 Invalid format;
- queryBasicTraces、queryTrace、readMetricsValues 的入参名均为 condition;
- 分页对象 Pagination 无 needTotal 字段,Trace 列表返回体无 total 字段,取值直接读 traces 数组;
- Agent 批量上报约 30 秒一批,OAP 落库周期 25 秒,刚接入的服务需等待约 1 分钟再查询。
六、Java Agent 参数与启动方式
6.1 方式一:JVM 启动参数(-javaagent 与 -D 覆盖)
被观测服务以 -javaagent 挂载 Agent,并用 -D 系统属性覆盖服务名与后端地址。以 tomcat9 为例(/etc/default/tomcat9):
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
JAVA_OPTS="-Djava.awt.headless=true -Xms256m -Xmx512m -javaagent:/opt/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=tomcat-demo -Dskywalking.collector.backend_service=127.0.0.1:11800"
tomcat9 启动后,核查进程实际参数(pgrep 自排除写法):
cat /proc/$(pgrep -f 'catalina.startup.Bootstra[p]' | head -1)/cmdline | tr '\0' '\n' | grep -E 'javaagent|service_name' | head -2
-javaagent:/opt/skywalking-agent/skywalking-agent.jar
-Dskywalking.agent.service_name=tomcat-demo
Agent 挂载成功后,进程控制台或 Agent 日志出现固定启动序列(实测):
INFO SnifferConfigInitializer : Config file found in /opt/skywalking-agent/config/agent.config.
INFO SkyWalkingAgent : Skywalking agent transformer has installed.
INFO Version : SkyWalking agent version: 9.8.0-805f941
6.2 方式二:操作系统环境变量覆盖
agent.config 中每个配置项都定义了同名环境变量占位,优先级高于配置文件默认值。服务名与后端地址对应的环境变量为 SW_AGENT_NAME 与 SW_AGENT_COLLECTOR_BACKEND_SERVICES。实测:为演示程序(一个每 3 秒发起 HTTP 调用的自编 Java 类,任意 Java 服务同理)携带环境变量启动,不修改任何配置文件:
SW_AGENT_NAME=env-demo SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 \
java -javaagent:/opt/skywalking-agent/skywalking-agent.jar DemoApp18180
进程运行约 1 分钟后查询服务列表,环境变量指定的新服务名已注册:
{"data":{"getAllServices":[{"id":"dG9tY2F0LWRlbW8y.1","name":"tomcat-demo2"},{"id":"dG9tY2F0LWRlbW8=.1","name":"tomcat-demo"},{"id":"ZW52LWRlbW8=.1","name":"env-demo"}]}}
注意:服务注册由 Agent 心跳周期驱动(collector.heartbeat_period 默认 30 秒),短命进程(运行数十秒即退出)可能来不及注册,验证时保持进程运行 1 分钟以上。
6.3 方式三:修改 agent.config
直接修改 /opt/skywalking-agent/config/agent.config,两个必改项的行号与默认值:
grep -n 'agent.service_name\|collector.backend_service' /opt/skywalking-agent/config/agent.config
20:agent.service_name=Your_ApplicationName
100:collector.backend_service=127.0.0.1:11800
三种方式的优先级:-D 系统属性最高,其次操作系统环境变量,最后是 agent.config 文件默认值。批量部署机器建议保持配置文件默认值,统一用前两种方式注入。
6.4 插件目录管理
Agent 按目录加载插件,plugins/ 内置 154 个插件(ls /opt/skywalking-agent/plugins | wc -l 实测),即装即用。bootstrap-plugins/ 提供 JDK 自身能力的增强,需手动启用:
ls /opt/skywalking-agent/bootstrap-plugins
apm-jdk-forkjoinpool-plugin-9.8.0.jar
apm-jdk-http-plugin-9.8.0.jar
apm-jdk-httpclient-plugin-9.8.0.jar
apm-jdk-threading-plugin-9.8.0.jar
apm-jdk-threadpool-plugin-9.8.0.jar
apm-jdk-virtual-thread-executor-plugin-9.8.0.jar
optional-reporter-plugins/ 提供替代上报通道(如 Kafka 上报):
ls /opt/skywalking-agent/optional-reporter-plugins
kafka-reporter-plugin-9.8.0.jar
lz4-java-1.6.0.jar
snappy-java-1.1.7.3.jar
zstd-jni-1.4.3-1.jar
启停某个插件就是把 jar 在 plugins/ 与 optional-plugins/ 之间移动,修改后重启被观测服务生效。
6.5 Agent 自身日志
Agent 自身日志独立于被观测服务,由 agent.config 的 logging 段控制:logging.output 默认 FILE,logging.file_name 默认 skywalking-api.log,logging.dir 未设置时写到 Agent 目录下 logs 子目录,也可指定为 /var/log/skywalking-agent 等绝对路径。本环境实测日志内容:
tail -5 /var/log/skywalking-agent/skywalking-api.log
INFO SkyWalkingAgent : Skywalking agent transformer has installed.
INFO Version : SkyWalking agent version: 9.8.0-805f941
WARN AsyncProfilerTaskChannelService : Backend doesn't support async-profiler, async-profiler will be disabled
WARN 行说明后端未启用 async-profiler 支持该功能被禁用,属预期,不影响链路上报。
七、日志与运维命令
7.1 日志文件清单
ls -la /opt/skywalking/logs/
total 12928
drwxr-xr-x 2 root root 4096 Oct 12 02:36 .
drwxr-xr-x 10 root root 4096 Oct 12 02:35 ..
-rw-r--r-- 1 root root 0 Oct 12 03:06 oap.log
-rw-r--r-- 1 root root 13193361 Oct 12 03:54 skywalking-oap-server.log
-rw-r--r-- 1 root root 28113 Oct 12 03:06 skywalking-webapp.log
-rw-r--r-- 1 root root 0 Oct 12 03:06 webapp-console.log
| 文件 | 内容 |
|---|---|
| skywalking-oap-server.log | OAP 主日志,log4j2 输出,排障主战场 |
| skywalking-webapp.log | UI 主日志 |
| oap.log | oapService.sh 的标准错误重定向目标,通常为空 |
| webapp-console.log | webappService.sh 的标准错误重定向目标,通常为空 |
7.2 日志检索
确认 OAP 的 gRPC 监听就绪:
grep 'Server started' /opt/skywalking/logs/skywalking-oap-server.log | tail -1
2026-10-12 02:35:34,156 - org.apache.skywalking.oap.server.library.server.grpc.GRPCServer - 108 [main] INFO [] - Server started, host 0.0.0.0 listening on 11800
确认 TTL 历史数据清理任务在执行:
grep 'Deleting history' /opt/skywalking/logs/skywalking-oap-server.log | tail -1
2026-10-12 03:51:26,758 - org.apache.skywalking.oap.server.storage.plugin.jdbc.common.dao.JDBCHistoryDeleteDAO - 55 [pool-5-thread-1] INFO [] - Deleting history data, ttl: 7, now: 1791777086758. Keep [20261005, 20261013]
7.3 进程与端口核查
jps -l | grep -v Jps
6993 org.apache.catalina.startup.Bootstrap
7671 org.apache.skywalking.oap.server.webapp.ApplicationStartUp
7496 org.apache.skywalking.oap.server.starter.OAPServerStartUp
6893 org.apache.catalina.startup.Bootstrap
四类进程一目了然:两个 Bootstrap 为接入 Agent 的 tomcat 实例,OAPServerStartUp 为 OAP,ApplicationStartUp 为 UI。端口核查:
ss -tlnp | grep -E '11800|12800|8080'
LISTEN 0 4096 *:12800 *:* users:(("java",pid=7496,fd=2781))
LISTEN 0 4096 *:11800 *:* users:(("java",pid=7496,fd=2777))
LISTEN 0 4096 *:8080 *:* users:(("java",pid=7671,fd=88))
进程启动参数核查见 4.2、4.3、6.1 节的 /proc 命令。
7.4 systemd 服务运维
本环境的 OAP 与 UI 由 systemd 托管,常用命令(每个单元单独操作):
# 查看 OAP 服务状态与最近日志
systemctl status skywalking-oap.service
# 探测 OAP 活跃状态
systemctl is-active skywalking-oap.service
# 重启 OAP
systemctl restart skywalking-oap.service
# 查看 UI 服务状态
systemctl status skywalking-ui.service
# 重启 UI
systemctl restart skywalking-ui.service
# 查看单元最近 20 行日志
journalctl -u skywalking-oap.service -n 20 --no-pager
状态探测回显:
systemctl is-active skywalking-oap.service
active
systemctl is-active skywalking-ui.service
active
7.5 数据维护
默认 H2 为内存库,OAP 进程重启后历史 Trace 与指标清空,重启后只需等待被观测服务重新上报。历史数据由 TTL 机制按天清理,指标默认保留 7 天、记录数据默认保留 3 天,清理动作见 7.2 节日志行。调整 TTL 与切换外部存储属配置变更,方法见《Apache SkyWalking 配置参数详解》。
八、注意事项
- 手工执行 oapService.sh 或 webappService.sh 后终端没有任何输出,属设计行为(标准输出被丢弃),启动是否成功以端口监听与日志文件为准;
- startup.sh 会阻塞在 OAP 前台且不会执行到 UI 启动行,生产一律分开托管两个脚本;
- 两个脚本内置的默认堆较大(OAP 默认上限 4096M、UI 默认 1024M),小内存服务器务必用 JAVA_OPTS 显式覆盖,否则 JVM 可能申请内存失败;
- systemd 单元中 Environment 的值含空格时必须加双引号,并按 4.6 节核查实际生效值;
- GraphQL 的 Duration 格式与 step 必须匹配,时间窗口错位是查询为空的最常见原因;
- Agent 上报地址是 gRPC 端口 11800 而非 12800,写错端口会表现为服务一直注册不上;
- standalone 模式下 checkHealth 查询返回 health-checker missing 属预期(未注册健康检查组件),探活改用 version 查询;
- OAP 默认监听 0.0.0.0,公网服务器用防火墙限制 11800/12800/8080 来源。
九、常见问题
9.1 执行启动脚本后终端一直卡住不动
脚本以前台方式拉起 JVM,属正常现象。生产环境用 nohup 放后台,或交给 systemd 托管(推荐);确认启动成功的标志是 12800/8080 端口监听与 skywalking-oap-server.log 出现 Server started 行。
9.2 用 startup.sh 启动后 UI 没有起来
见 4.4 节实测:startup.sh 阻塞在 OAP 前台进程,webappService.sh 不会被执行。分别运行两个脚本或分别配置 systemd 单元。
9.3 Agent 已挂载但 getAllServices 查不到新服务
按顺序排查:Agent 日志确认 transformer has installed 与版本行;确认 backend_service 指向 11800 端口;确认进程运行超过 1 分钟(心跳 30 秒加落库 25 秒的固有延迟);确认查询窗口 Duration 与当前日期匹配。
9.4 GraphQL 查询报 Invalid format
Duration 格式与 step 不匹配。DAY 步长写 2026-10-12,MINUTE 步长写 2026-10-12 0240 格式;混用即报错,见 5.6 节。
9.5 查询返回 errors 提示字段未定义
查询字段名或入参写错,按 5.5 节先做内省查询核对类型与枚举;列表类查询入参统一为 condition。
9.6 jps 命令不存在
jps 由 JDK 提供,安装 openjdk-17-jdk-headless 后可用;仅有 JRE 的机器按 4.2 节改用 pgrep 加 /proc 文件核查进程。
十、参考链接
- 官方文档主页:https://skywalking.apache.org/docs/
- 查询协议官方文档:https://skywalking.apache.org/docs/main/latest/en/api/query-protocol/
- 后端部署官方文档:https://skywalking.apache.org/docs/main/latest/en/backend/backend-setup/
- Java Agent 接入官方文档:https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/
- Java Agent 配置项官方文档:https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/configuration/
- GitHub 仓库:https://github.com/apache/skywalking