メインコンテンツまでスキップ

システム診断と使用状況分析

Libre WebUI は、管理者向けにインスタンスの 2 つのリアルタイム画面を提供します。ホストとランタイムを診断するシステムページと、モデルおよびプロバイダーの使用状況を分析する使用状況ページです。どちらもバックエンドと画面の両方で管理者専用です。どちらのページを読み取っても、データはデプロイ内に留まります。任意の外部テレメトリーは、運用担当者が別途設定するオブザーバビリティ経路です。

サイドバーの管理者用項目、タブメニューの管理者用ショートカットから開くか、/system/usage へ直接アクセスします。管理者以外はどちらのページも開けません。サインイン中のアカウントから admin ロールが失われると、管理者タブは閉じられます。

システム診断

システムページ(/system)には、次の情報が表示されます。

  • ホスト: ホスト名、プラットフォーム、カーネルリリース、アーキテクチャ、稼働時間、論理 CPU 数、CPU モデル、ロードアベレージ、プロセスがコンテナ化されているように見えるか。CPU 使用率のパーセンテージはなく、CPU 負荷はロードアベレージだけです。
  • ランタイム: アプリケーションのバージョン、Node.js のバージョン、プロセス ID、プロセス稼働時間、作業ディレクトリ。
  • メモリ: ホストメモリの合計、空き、使用量、およびプロセスの RSS とヒープの値。
  • ファイルシステム: ランタイムファイルシステム(/)とデータディレクトリ(DATA_DIR)の容量と使用量。
  • ネットワーク: インターフェース名とアドレス。Linux では受信/送信バイト数のカウンターも表示。
  • Docker: Docker ソケットを利用できる場合に、エンジンのバージョン、ホスト OS、カーネル、エンジンが報告する CPU とメモリ、コンテナ数、簡略化したコンテナ一覧。

このページは、タブにフォーカスがある間は 30 秒ごとに更新され、手動更新ボタンもあります。バックエンドのエンドポイントは GET /api/system です。認証、有効な管理者ロール、ユーザーごとに 15 分あたり 120 リクエストのレート制限で保護されています。応答は一切キャッシュされず(Cache-Control: no-store)、リクエストごとに最新の値を収集します。

Docker ソケットへの依存

Docker セクションは、Work ランタイムおよび対話型ターミナルと同じ方法でエンドポイントを解決します。設定されていれば WORK_DOCKER_SOCKET(常にローカル Unix ソケットのパス)、それ以外は DOCKER_HOSTunix:// URL、またはフィルタリング済み Docker API プロキシなどの平文 HTTP tcp:// エンドポイント)、どちらもなければ /var/run/docker.sock を使用します。ssh://npipe://、TLS 検証を有効にした tcp:// エンドポイントには、意図的に問い合わせません。リクエストは読み取り専用のエンジン GET(バージョン、情報、コンテナ一覧)だけで、タイムアウトは 4 秒、応答サイズには上限があり、コンテナ一覧は 100 件までです。

利用可能なソケットがなくても、ページの他の部分は動作します。Docker パネルにはリクエスト全体を失敗させる代わりに、ソケットがマウントされていない、マウント済みだが読み取れない、デーモンに到達できない、リモートエンドポイントである、といった利用不可の理由が表示されます。

ページに表示される情報と閲覧者

コンテナ一覧は意図的に簡略化され、短い ID、名前、イメージ、状態、作成時刻だけを含みます。環境変数、ラベル、マウント、コンテナコマンド、inspect ペイロードは一切含まれず、応答内のどこにも資格情報は現れません。

それでも、ページには実際のインフラ情報が表示されます。ホスト名、作業ディレクトリ、内部 IP アドレス、Libre WebUI 自身だけでなく Docker ホスト上のすべてのコンテナ名とイメージです。これは信頼モデルに沿っています。Docker デプロイでは、すべての Libre WebUI 管理者が実質的にホスト管理者でもあります(Docker を参照)。この点を踏まえて admin ロールを付与してください。

使用状況分析

使用状況ページ(/usage)は、ユーザーに帰属するモデルおよびプロバイダーの処理をグラフ化します。計測は対応する各実行境界で行われ、現在は次の処理を対象とします。

  • ローカル Ollama のチャット呼び出し。ネイティブ Chat と、Ollama を利用する Work の呼び出しを含む。
  • インストール済みエージェント CLI のチャット呼び出し。
  • プラグイン経由のチャット(ストリーミングと非ストリーミング)。
  • プラグインの埋め込み、画像生成、音声認識、音声合成、サウンド、動画。
  • プラグイン経由の Work 呼び出し。

所有ユーザーのいないバックグラウンド処理は、意図的に架空のアカウントへ割り当てないため、計測対象になりません。呼び出しが失敗またはキャンセルされた場合も記録されます。

各イベントには、次の情報が記録されます。

  • プロバイダー/プラグイン ID と表示名のスナップショット(ollamaagent-cli:* は、プラグインプロバイダーと同じ台帳を使用)
  • 機能(chatembeddingimagesttttsaudiovideo
  • モデル
  • ステータス: successerrorcancelled(中止されたストリームはキャンセルとして計上)
  • トークン数(プロバイダーが使用状況メタデータを返した場合のみ)
  • 機能に対応する単位カウンター(TTS は文字数、画像数、埋め込み入力数、動画のジョブ数、音声のバイト数)
  • 処理全体の所要時間とタイムスタンプ
  • リクエストしたユーザー ID

それ以外は保存されません。プロンプト、応答、プロバイダーのエンドポイント、資格情報、プロバイダーのエラー本文が使用状況テーブルへ書き込まれることは決してありません。失敗した呼び出しは status = 'error' としてだけ記録されます。イベントは選択したアプリケーションデータベース(ソロモードでは SQLite、チームモードでは PostgreSQL)に保存され、400 日間保持されます。古い行は、書き込み時に 1 日 1 回を上限として適宜削除されます。計測は設計上ベストエフォートであり、モデルやプロバイダーへのリクエストを失敗させることは決してありません。

ページでは、管理者専用の 1 つのエンドポイント GET /api/plugins/usage?days=<1..365>(デフォルト 30)を通じて、7 日、30 日、90 日の期間を選択できます。呼び出し総数、報告されたトークン数、成功率、平均レイテンシ、呼び出し数とトークン数を切り替えられる日別グラフ、モデル別テーブル、プラグイン別トラフィック比率、機能構成を表示します。トークン合計に含まれるのは、プロバイダーが使用状況メタデータを報告した呼び出しだけです。

計測を無効にする切り替えはありません。このデータは複数アカウントを横断して集約されるため、閲覧は管理者に限定されます。

使用状況ページは、呼び出し、単位、トークン、レイテンシ、結果を報告します。これらのイベントに、適用日付き料金、支出内訳、予算、アラート、会計エクスポートが必要な場合は、コストガバナンスを追加してください。一致する料金がないイベントや、プロバイダーから使用状況が報告されなかったイベントは、無料扱いせず、価格未設定として明示されます。

OpenRouter の帰属表示

0.18.0 以降、OpenRouter へのリクエストでは、OpenRouter のアプリ帰属ヘッダー(HTTP-Referer: https://librewebui.org、アプリケーションタイトル、カテゴリのヒント)を通じてアプリケーションを識別します。このヘッダーを送信するのは、リクエスト先が https://openrouter.ai 自体の場合だけです。カスタム経路やセルフホスト経路には決して送らず、ローカルに保存する情報も増えません。

関連ドキュメント