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

# Logning

> Læs, kopiér og bevar logs fra en Kubernetes-installation.

Hver tjeneste i Ayakaleaf Pro-poden skriver sin egen logfil under `/var/log/overleaf/`; `kubectl logs` viser kun containerens opstartsoutput (init-scripts, migreringer). Toolkit'ets `bin/logs` læser de samme filer, se [Logning](https://ayakaleaf-pro.mintlify.site/da/on-premises/configuration/overleaf-toolkit/logging.md).

| Hvor | Hvad |
| - | - |
| `kubectl -n overleaf logs <pod>` | opstart: kontrol af secrets, migreringer (`Finished migrations`), start af tjenester |
| `/var/log/overleaf/<service>.log` i poden | `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` og `third-party-datastore.log`, når Dropbox er slået til |
| `/var/log/nginx/` i poden | `access.log`, `error.log` for den nginx, der står foran tjenesterne |
| `kubectl -n overleaf logs mongo-0`, `redis-0`, `git-bridge-0` | MongoDB, Redis og git-bridge, som kører i deres egne pods |

### Læsning af logs

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

Med [flere replikaer](https://ayakaleaf-pro.mintlify.site/da/on-premises/configuration/kubernetes/horizontal-scaling.md) har hver pod sine egne filer: brug podnavnet (`overleaf-0`, `overleaf-1`, ...) i stedet for `deploy/overleaf`. Headeren `X-Served-By`, som HAProxy tilføjer, fortæller, hvilken replika der besvarede en forespørgsel.

`LOG_LEVEL` i ConfigMap'et (standard `info`, også `debug`, `warn`, `error`) sætter niveauet for alle tjenester i poden på én gang.

### Bevarelse af logs

Filerne ligger i containeren og går tabt, når poden udskiftes. For at bevare dem skal du montere et volume på `/var/log/overleaf`, for eksempel en `hostPath` på noden eller en PersistentVolumeClaim, i Deployment'et eller StatefulSet'et:

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

Containeren roterer filerne dagligt og beholder fem, så volumet ikke vokser ubegrænset. Du kan også indsamle dem fra den sti med dit clusters logagent.

### Testet på Kubernetes

På Kubernetes 1.37 med tre replikaer og et `hostPath`-volume på `/var/log/overleaf` som ovenfor indeholdt hver nodes `/srv/overleaf-logs` de tolv tjenestelogs for dens replika, og kommandoerne i tabellen virkede som vist: `tail` via `kubectl exec`, `kubectl cp` af en logfil, `kubectl logs` for Overleaf-poden (opstart og migreringer) og for `mongo-0`.


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