Other API
Other(其他接口)REST 接口:提供版本查询、API 列表、异常堆栈开关、IP 白名单和 Arthas 诊断代理等辅助功能。
11.1 Other
11.1.1 查看HugeGraph的版本信息
Method & Url
Response Status
Response Body
11.1.2 查看服务的概要信息
返回服务名、内核版本、文档地址以及当前节点注册的 API 分组。
Method & Url
Response Status
Response Body
swagger_ui 由 restserver.url 拼接得到,apis 是当前节点注册的 API 分组,按名称排序。
11.1.3 列出服务的全部 API
按 API 分组和资源类列出所有已注册的接口方法,每条记录包含 url、HTTP 方法,以及查询参数的类型和默认值。
Method & Url
Response Status
Response Body
返回内容较长,下面的片段展示了它的结构:
11.1.4 查看和切换异常堆栈开关
服务返回的错误信息中是否带上 exception 和 cause 等异常堆栈字段,由 exception.allow_trace 配置项(默认 true)决定。下面的接口是一个节点级别的运行期覆盖开关:打开时无论配置项取值如何都会带上堆栈。GET 返回的是该覆盖开关的状态,初始为 false。
Method & Url
Response Status
Response Body
Method & Url
Request Body
Response Status
Response Body
11.1.5 管理 IP 白名单,该操作需要管理员权限
白名单只在开关打开时生效,参见 white_ip.status 配置项(默认 disable)。
查看白名单
Method & Url
Response Status
Response Body
向白名单添加或删除 IP
Params
- ips: IPv4 地址列表
- action:
load表示添加,remove表示删除
Method & Url
Request Body
Response Status
Response Body
existed_ips 是已经在白名单中的地址,added_ips 是新增的地址,illegal_ips 只在存在非法 IPv4 地址时返回。action=remove 时返回的是 removed_ips 和 non_existed_ips。
启用或关闭白名单
Params
- status:
true表示启用,false表示关闭
Method & Url
Response Status
Response Body
11.1.6 启动 Arthas 诊断代理
自 HugeGraph 1.8.0 起,Server 与 Store 发行包统一内置 Arthas 4.1.5(PD 未内置)。 可通过本地脚本或管理员 HTTP 接口挂载到正在运行的 JVM 进行在线诊断。
重要
安全与访问控制说明
- 默认本地监听:Arthas 默认仅监听
127.0.0.1。若绑定通配地址(如0.0.0.0),请务必收紧网络防火墙并开启认证。 - 管理员权限限制:HTTP API 激活(
PUT /arthas)仅限已开启鉴权的管理员调用;未开启鉴权时直接返回403。 - Store 端点禁用:Store 服务的
GET /v1/arthasstart已禁用并返回403,统一推荐使用bin/arthas.sh。 - 免重启与自动清理:推荐在宿主机以服务属主身份直接运行
bin/arthas.sh,无需重启服务; 交互会话退出时脚本会自动卸载代理。
| 部署方式 | 推荐激活方式 | 权限与访问说明 |
|---|---|---|
| Server(已开启认证) | 管理员调用 PUT /arthas 或运行 bin/arthas.sh | 仅管理员账号可调用 HTTP 接口;本地脚本需服务 OS 用户权限 |
| Server(未开启认证) | 本地脚本 bin/arthas.sh | HTTP 接口直接返回 403(包括 loopback 与代理请求) |
| Store | 本地脚本 bin/arthas.sh | GET /v1/arthasstart 已禁用并返回 403 |
激活与使用方式
本地免重启诊断 (推荐)
常用诊断参数
管理员 HTTP API 激活
运维说明与安全配置
- 会话退出与清理:本地脚本会在退出时(输入
quit、stop或--command执行完成)自动停止 Arthas 代理并释放端口, 服务 JVM 保持运行。若仅通过 HTTP API 激活,会话结束后需显式执行stop彻底卸载代理。 - 用户认证与安全:对外暴露诊断端口前强烈建议启用原生认证。可通过脚本参数
--username/--password传递凭据, 或在服务 JVM 参数中设置-Darthas.username与-Darthas.password。 详细认证机制及安全配置请参考 Arthas 官方用户认证文档。 - 禁用高危命令:Server 可在
rest-server.properties中通过arthas.disabled_commands配置禁用命令列表 (以逗号分隔,如jad,mc)。请勿禁用session与stop,以便工具管理生命周期。 各命令详情请参见 Arthas 官方命令列表。
HTTP 响应体示例
成功激活后返回 HTTP 200 及生效配置:
说明