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

# Logowanie

> Odczytuj, kopiuj i przechowuj logi wdrożenia Kubernetes.

Każda usługa wewnątrz poda Ayakaleaf Pro zapisuje własny plik logu w `/var/log/overleaf/`; `kubectl logs` pokazuje jedynie dane wyjściowe uruchamiania kontenera (skrypty inicjalizujące, migracje). Polecenie `bin/logs` z Toolkit odczytuje te same pliki, zobacz [Logowanie](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/overleaf-toolkit/logging.md).

| Gdzie | Co |
| - | - |
| `kubectl -n overleaf logs <pod>` | uruchamianie: sprawdzenie sekretów, migracje (`Finished migrations`), start usług |
| `/var/log/overleaf/<service>.log` w podzie | `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` oraz `third-party-datastore.log` przy włączonym Dropbox |
| `/var/log/nginx/` w podzie | `access.log`, `error.log` serwera nginx działającego przed usługami |
| `kubectl -n overleaf logs mongo-0`, `redis-0`, `git-bridge-0` | MongoDB, Redis i git-bridge, które działają we własnych podach |

### Odczytywanie logów

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

Przy [kilku replikach](https://ayakaleaf-pro.mintlify.site/pl/on-premises/configuration/kubernetes/horizontal-scaling.md) każdy pod ma własne pliki: użyj nazwy poda (`overleaf-0`, `overleaf-1`, ...) zamiast `deploy/overleaf`. Nagłówek `X-Served-By`, który dodaje HAProxy, wskazuje, która replika odpowiedziała na żądanie.

`LOG_LEVEL` w ConfigMap (domyślnie `info`, a także `debug`, `warn`, `error`) ustawia poziom wszystkich usług w podzie jednocześnie.

### Przechowywanie logów

Pliki znajdują się w kontenerze i są tracone, gdy pod zostanie zastąpiony. Aby je zachować, zamontuj wolumin w `/var/log/overleaf`, na przykład `hostPath` na węźle lub PersistentVolumeClaim, w Deployment lub StatefulSet:

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

Kontener codziennie rotuje pliki i przechowuje pięć z nich, więc wolumin nie rośnie bez ograniczeń. Możesz też zbierać je z tej ścieżki za pomocą agenta logów swojego klastra.

### Przetestowano na Kubernetes

Na Kubernetes 1.37 z trzema replikami i woluminem `hostPath` w `/var/log/overleaf` jak powyżej, katalog `/srv/overleaf-logs` każdego węzła zawierał dwanaście logów usług jego repliki, a polecenia z tabeli działały zgodnie z opisem: `tail` przez `kubectl exec`, `kubectl cp` pliku logu, `kubectl logs` poda Overleaf (uruchamianie i migracje) oraz `mongo-0`.


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