> ## 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.

# Logging

> Lees, kopieer en bewaar de logs van een Kubernetes-deployment.

Elke service in de Ayakaleaf Pro-pod schrijft zijn eigen logbestand onder `/var/log/overleaf/`; `kubectl logs` toont alleen de opstartuitvoer van de container (init-scripts, migraties). `bin/logs` van de Toolkit leest dezelfde bestanden, zie [Logging](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/overleaf-toolkit/logging.md).

| Waar | Wat |
| - | - |
| `kubectl -n overleaf logs <pod>` | opstarten: controle van secrets, migraties (`Finished migrations`), starten van services |
| `/var/log/overleaf/<service>.log` in de pod | `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`, en `third-party-datastore.log` wanneer Dropbox is ingeschakeld |
| `/var/log/nginx/` in de pod | `access.log`, `error.log` van de nginx vóór de services |
| `kubectl -n overleaf logs mongo-0`, `redis-0`, `git-bridge-0` | MongoDB, Redis en git-bridge, die in hun eigen pods draaien |

### Logs lezen

| 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` |

Met [meerdere replica's](https://ayakaleaf-pro.mintlify.site/nl/on-premises/configuration/kubernetes/horizontal-scaling.md) heeft elke pod zijn eigen bestanden: gebruik de podnaam (`overleaf-0`, `overleaf-1`, ...) in plaats van `deploy/overleaf`. De `X-Served-By`-header die HAProxy toevoegt, laat zien welke replica een verzoek heeft beantwoord.

`LOG_LEVEL` in de ConfigMap (standaard `info`, ook `debug`, `warn`, `error`) stelt het niveau van alle services in de pod tegelijk in.

### Logs bewaren

De bestanden staan in de container en gaan verloren wanneer de pod wordt vervangen. Om ze te bewaren, koppel je een volume op `/var/log/overleaf`, bijvoorbeeld een `hostPath` op de node of een PersistentVolumeClaim, in de Deployment of StatefulSet:

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

De container roteert de bestanden dagelijks en bewaart er vijf, dus het volume groeit niet onbeperkt. Of verzamel ze vanaf dat pad met de logagent van je cluster.

### Getest op Kubernetes

Op Kubernetes 1.37 met drie replica's en een `hostPath`-volume op `/var/log/overleaf` zoals hierboven, bevatte `/srv/overleaf-logs` op elke node de twaalf servicelogs van de bijbehorende replica, en werkten de commando's in de tabel zoals getoond: `tail` via `kubectl exec`, `kubectl cp` van een logbestand, `kubectl logs` van de Overleaf-pod (opstarten en migraties) en van `mongo-0`.


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