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

> Les, kopier og ta vare på loggene til en Kubernetes-distribusjon.

Hver tjeneste i Ayakaleaf Pro-poden skriver sin egen loggfil under `/var/log/overleaf/`; `kubectl logs` viser bare containerens oppstartsutdata (init-skript, migreringer). Toolkit-kommandoen `bin/logs` leser de samme filene, se [Logging](https://ayakaleaf-pro.mintlify.site/no/on-premises/configuration/overleaf-toolkit/logging.md).

| Hvor | Hva |
| - | - |
| `kubectl -n overleaf logs <pod>` | oppstart: kontroll av hemmeligheter, migreringer (`Finished migrations`), oppstart av 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ått på |
| `/var/log/nginx/` i poden | `access.log`, `error.log` for nginx foran tjenestene |
| `kubectl -n overleaf logs mongo-0`, `redis-0`, `git-bridge-0` | MongoDB, Redis og git-bridge, som kjører i egne poder |

### Lese logger

| 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/no/on-premises/configuration/kubernetes/horizontal-scaling.md) har hver pod sine egne filer: bruk podnavnet (`overleaf-0`, `overleaf-1`, ...) i stedet for `deploy/overleaf`. `X-Served-By`-headeren som HAProxy legger til, forteller hvilken replika som besvarte en forespørsel.

`LOG_LEVEL` i ConfigMap-en (standard `info`, også `debug`, `warn`, `error`) angir nivået for alle tjenestene i poden samtidig.

### Ta vare på logger

Filene ligger i containeren og går tapt når poden erstattes. For å beholde dem monterer du et volum på `/var/log/overleaf`, for eksempel en `hostPath` på noden eller en PersistentVolumeClaim, i Deployment-en eller StatefulSet-en:

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

Containeren roterer filene daglig og beholder fem, så volumet vokser ikke ubegrenset. Eller samle dem inn fra den stien med loggagenten i klyngen din.

### Testet på Kubernetes

På Kubernetes 1.37 med tre replikaer og et `hostPath`-volum på `/var/log/overleaf` som ovenfor inneholdt hver nodes `/srv/overleaf-logs` de tolv tjenesteloggene til replikaen sin, og kommandoene i tabellen fungerte som vist: `tail` via `kubectl exec`, `kubectl cp` av en loggfil, `kubectl logs` for Overleaf-poden (oppstart og migreringer) og for `mongo-0`.


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