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 のシステムプロパティ設定値が含まれます。

注釈

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キー=値 オプションのうち機密性の高いキーの値もマスクされ、文字列の残りはそのまま返されます。

警告

マスクされるのは上記のキーだけです。環境変数やJavaシステムプロパティに別の名前(例: DB_PASSWORD)で 認証情報などの機密情報を設定している場合、それらはマスクされず、設定されている値がそのままレスポンスに含まれます。

使用例

システム情報の取得

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)"'

参考情報