SystemInfo API

概述

SystemInfo API是用于获取 Fess 系统信息的API。 您可以查看环境变量、Java系统属性、Fess 的配置属性以及用于错误报告的信息。

基础URL

/api/admin/systeminfo

访问此API需要持有具备 Radmin-api 权限的访问令牌。 认证方式的详细信息请参阅 Admin API 概述。

端点列表

方法 路径 说明
GET / 获取系统信息

获取系统信息

请求

GET /api/admin/systeminfo

此端点不接受任何查询参数。

响应

响应包含表示产品版本的 version、表示处理结果的 status,以及 以下4组属性。每组属性是包含 label 和 value 的 对象数组。

{
  "response": {
    "version": "15.9",
    "status": 0,
    "env_props": [
      {"label": "JAVA_HOME", "value": "/usr/lib/jvm/java-21"},
      {"label": "FESS_DICTIONARY_PATH", "value": "/var/lib/fess/dict"}
    ],
    "system_props": [
      {"label": "java.version", "value": "21.0.1"},
      {"label": "java.vendor", "value": "Oracle Corporation"},
      {"label": "os.name", "value": "Linux"},
      {"label": "user.dir", "value": "/opt/fess"}
    ],
    "fess_props": [
      {"label": "crawler.document.max.site.length", "value": "100"},
      {"label": "indexer.thread.dump.enabled", "value": "true"},
      {"label": "app.cipher.key", "value": "XXXXXXXX"}
    ],
    "bug_report_props": [
      {"label": "os.name", "value": "Linux"},
      {"label": "java.vm.version", "value": "21.0.1+12"}
    ]
  }
}

响应字段

字段 说明
version Fess 的产品版本(例如:15.9)。
status 表示处理结果的状态码。0 表示正常结束。
env_props 环境变量列表(label / value 的对象数组)。返回通过 System.getenv() 获取的值,敏感项会被屏蔽(参见下方说明)。
system_props Java系统属性列表(label / value 的对象数组)。返回通过 System.getProperties() 获取的值,敏感项会被屏蔽(参见下方说明)。
fess_props Fess 配置属性列表(label / value 的对象数组)。包含 fess_config.properties 中的配置值以及通过管理界面设置的系统属性。敏感项目将被屏蔽(参见下方注意事项)。
bug_report_props 为错误报告收集的信息列表(label / value 的对象数组)。包含与OS及Java运行环境相关的主要系统属性(os.name、os.version、java.vm.version 等)以及 Fess 的系统属性设置值。

Note

在 fess_props、env_props 和 system_props 中,以下敏感项的值将被屏蔽,以 XXXXXXXX 返回: http.proxy.password、search_engine.password、index.user.initial_password、 ldap.admin.security.credentials、spnego.preauth.password、app.cipher.key、 content_chunker.embedding.opensearch.password, 以及键以 .client.id、.client.secret、.privatekey、.key.password 结尾, 或匹配 content_chunker.embedding.*.api.key、rag.llm.*.api.key 的所有项。 名为 fess.system.<键> 或 fess.config.<键> 的系统属性(以 -D 选项传递设置值的形式) 按与 <键> 相同的规则屏蔽。 在 env_props 和 system_props 中,FESS_JAVA_OPTS 或 JAVA_TOOL_OPTIONS 等较长字符串内的 敏感 -D键=值 选项的值也会被屏蔽,字符串的其余部分保持可读。

Warning

仅屏蔽上述键。如果将认证信息等敏感数据以其他名称(例如 DB_PASSWORD)存放在环境变量或Java系统属性中, 则不会被屏蔽,其值将原样返回并出现在响应中,请注意。

使用示例

获取系统信息

curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN"

提取特定的系统属性

# 仅提取 java.version 的值
curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     | jq -r '.response.system_props[] | select(.label == "java.version") | .value'

列出环境变量

# 以 label=value 格式显示环境变量
curl -X GET "http://localhost:8080/api/admin/systeminfo" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     | jq -r '.response.env_props[] | "\(.label)=\(.value)"'

参考信息