> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dev/miniprem/api/container-logs.md).

# コンテナログ API

{% hint style="info" %}
本ページの内容はデジタルヒューマン株式会社の正式サポート対象外です。参考情報としてご利用ください。
{% endhint %}

**リアルタイムログストリーミング:** ミニプレム（MiniPrem）モニターのダッシュボード（`http://localhost:3001`）から、コンテナおよび Pod のログをライブで直接確認できます。シンタックスハイライト、自動スクロール、ダウンロード機能に対応しています。

MiniPrem スタック上の Docker コンテナや Kubernetes Pod のリアルタイムログを、統合された MiniPrem モニターで確認できます。

## ログへのアクセス

MiniPrem モニターは、リアルタイムのログストリーミング機能を備えた集中モニタリングダッシュボードを提供します。

1. **MiniPrem モニターにアクセス**します（`http://localhost:3001`）
2. **Docker コンテナ**: 各コンテナの横にある「View Logs」ボタン（目のアイコン）をクリックします
3. **Kubernetes Pod**: 各 Pod の横にある「View Logs」ボタンをクリックします（Kubernetes モニタリングが有効な場合）

## 機能

LiveリアルタイムストリーミングColorシンタックスハイライト100デフォルトの履歴行数WSSWebSocket トランスポート

## 動作の仕組み

MiniPrem モニターは、WebSocket をサポートする FastAPI バックエンドを用いて、Docker コンテナのログをリアルタイムにストリーミングします。

1. フロントエンドが `ws://localhost:8000/ws` に接続します
2. ログストリーミングのコマンドを送信します: `{"type": "command", "target": "docker", "command": "logs:stream", "params": {"container": "container-name"}}`
3. バックエンドが `docker logs --follow --tail 100 --timestamps container-name` を実行します
4. ログ行は生成されるたびにブラウザへストリーミングされます
5. ログビューワを閉じるまで接続は維持されます

## セキュリティ

* **コマンドの検証**: ホワイトリストに登録された Docker コマンドのみ許可されます
* **入力のサニタイズ**: コンテナ名は正規表現パターンで検証されます
* **認証**: 必要に応じて、Docker アクセス用の sudo 認証をサポートします
* **レート制限**: 不正利用を防止するため、WebSocket 接続にはレート制限が設けられています

## トラブルシューティング

ログが表示されない場合は、以下を確認してください。

1. **MiniPrem モニター**が起動しているか確認します:

   ```bash
   docker ps | grep miniprem-monitor
   ```
2. **Docker へのアクセス**を確認します:

   ```bash
   docker ps
   ```
3. ブラウザの開発者ツール（ネットワークタブ）で **WebSocket 接続**を確認します
4. **ブラウザのコンソール**に接続エラーが出ていないか確認します

モニタリングシステムの詳細については、MiniPrem モニター README を参照してください。
