> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ログ

> Kubernetes デプロイのログを読み取り、コピーし、保持します。

Ayakaleaf Pro Pod 内の各サービスは、`/var/log/overleaf/` 以下にそれぞれのログファイルを書き込みます。`kubectl logs` に表示されるのは、コンテナの起動時の出力（初期化スクリプト、マイグレーション）だけです。Toolkit の `bin/logs` も同じファイルを読み取ります。[ログ](https://ayakaleaf-pro.mintlify.site/ja/on-premises/configuration/overleaf-toolkit/logging.md)を参照してください。

| 場所 | 内容 |
| - | - |
| `kubectl -n overleaf logs <pod>` | 起動時: シークレットのチェック、マイグレーション（`Finished migrations`）、サービスの起動 |
| Pod 内の `/var/log/overleaf/<service>.log` | `web.log`、`web-api.log`、`clsi.log`、`real-time.log`、`document-updater.log`、`docstore.log`、`filestore.log`、`history-v1.log`、`project-history.log`、`chat.log`、`notifications.log`、`linked-url-proxy.log`、および Dropbox 有効時の `third-party-datastore.log` |
| Pod 内の `/var/log/nginx/` | サービスの前段にある nginx の `access.log`、`error.log` |
| `kubectl -n overleaf logs mongo-0`、`redis-0`、`git-bridge-0` | それぞれ独自の Pod で動作する MongoDB、Redis、git-bridge |

### ログの読み取り

| Toolkit | Kubernetes |
| - | - |
| `bin/logs web` | `kubectl -n overleaf exec deploy/overleaf -- tail -n 20 /var/log/overleaf/web.log` |
| `bin/logs -f web clsi` | `kubectl -n overleaf exec deploy/overleaf -- tail -f /var/log/overleaf/web.log /var/log/overleaf/clsi.log` |
| `bin/logs -n all web > web.log` | `kubectl -n overleaf cp overleaf/<pod>:/var/log/overleaf/web.log web.log` |
| `bin/logs mongo` | `kubectl -n overleaf logs mongo-0` |

[複数のレプリカ](https://ayakaleaf-pro.mintlify.site/ja/on-premises/configuration/kubernetes/horizontal-scaling.md)を使う場合、各 Pod はそれぞれのファイルを持ちます。`deploy/overleaf` の代わりに Pod 名（`overleaf-0`、`overleaf-1` など）を使用してください。HAProxy が付加する `X-Served-By` ヘッダーで、どのレプリカがリクエストに応答したかがわかります。

ConfigMap の `LOG_LEVEL`（デフォルトは `info`。ほかに `debug`、`warn`、`error`）で、Pod 内のすべてのサービスのレベルを一括で設定できます。

### ログの保持

ファイルはコンテナ内にあり、Pod が置き換えられると失われます。保持するには、Deployment または StatefulSet で `/var/log/overleaf` にボリューム（ノード上の `hostPath` や PersistentVolumeClaim など）をマウントします。

```yaml theme={null}
          volumeMounts:
            # ...
            - name: logs
              mountPath: /var/log/overleaf
      volumes:
        # ...
        - name: logs
          hostPath:
            path: /srv/overleaf-logs
            type: DirectoryOrCreate
```

コンテナはファイルを毎日ローテーションして 5 つ保持するため、ボリュームが際限なく大きくなることはありません。または、クラスターのログエージェントでそのパスから収集してください。

### Kubernetes でのテスト

Kubernetes 1.37 上でレプリカ 3 つ、上記のように `/var/log/overleaf` に `hostPath` ボリュームを置いた状態で、各ノードの `/srv/overleaf-logs` にそのレプリカの 12 個のサービスログが保存され、表のコマンドは記載どおりに動作しました: `kubectl exec` 経由の `tail`、ログファイルの `kubectl cp`、Overleaf Pod（起動とマイグレーション）と `mongo-0` の `kubectl logs`。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.