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

# Journalisation

> Consultez, copiez et conservez les journaux d'un déploiement Kubernetes.

Chaque service du pod Ayakaleaf Pro écrit son propre fichier journal sous `/var/log/overleaf/` ; `kubectl logs` n'affiche que la sortie de démarrage du conteneur (scripts d'initialisation, migrations). La commande `bin/logs` du Toolkit lit les mêmes fichiers, voir [Journalisation](https://ayakaleaf-pro.mintlify.site/fr/on-premises/configuration/overleaf-toolkit/logging.md).

| Où | Quoi |
| - | - |
| `kubectl -n overleaf logs <pod>` | démarrage : vérification des secrets, migrations (`Finished migrations`), démarrage des services |
| `/var/log/overleaf/<service>.log` dans le 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`, et `third-party-datastore.log` lorsque Dropbox est activé |
| `/var/log/nginx/` dans le pod | `access.log`, `error.log` du nginx placé devant les services |
| `kubectl -n overleaf logs mongo-0`, `redis-0`, `git-bridge-0` | MongoDB, Redis et git-bridge, qui s'exécutent dans leurs propres pods |

### Consulter les journaux

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

Avec [plusieurs répliques](https://ayakaleaf-pro.mintlify.site/fr/on-premises/configuration/kubernetes/horizontal-scaling.md), chaque pod a ses propres fichiers : utilisez le nom du pod (`overleaf-0`, `overleaf-1`, ...) au lieu de `deploy/overleaf`. L'en-tête `X-Served-By` ajouté par HAProxy indique quelle réplique a répondu à une requête.

`LOG_LEVEL` dans le ConfigMap (par défaut `info`, également `debug`, `warn`, `error`) définit d'un coup le niveau de tous les services du pod.

### Conserver les journaux

Les fichiers résident dans le conteneur et sont perdus lorsque le pod est remplacé. Pour les conserver, montez un volume sur `/var/log/overleaf`, par exemple un `hostPath` sur le nœud ou un PersistentVolumeClaim, dans le Deployment ou le StatefulSet :

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

Le conteneur effectue une rotation quotidienne des fichiers et en conserve cinq ; le volume ne grossit donc pas indéfiniment. Vous pouvez aussi les collecter depuis ce chemin avec l'agent de journalisation de votre cluster.

### Testé sur Kubernetes

Sur Kubernetes 1.37 avec trois répliques et un volume `hostPath` sur `/var/log/overleaf` comme ci-dessus, le répertoire `/srv/overleaf-logs` de chaque nœud contenait les douze journaux de service de sa réplique, et les commandes du tableau fonctionnaient comme indiqué : `tail` via `kubectl exec`, `kubectl cp` d'un fichier journal, `kubectl logs` du pod Overleaf (démarrage et migrations) et de `mongo-0`.


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