Ajouter une seconde passerelle OpenClaw sur clustervps est à la portée de beaucoup d’équipes ; aligner journaux, tranches multi-chemins et rafales webhook entre nœuds l’est moins. Le lab minimal reproductible fusionne d’abord la configuration, plafonne ensuite le disque dédié aux logs, puis transforme les échecs webhook en un seul canal de synthèses — pour que les opérateurs voient du signal, pas du bruit corrélé.

Ce qui casse quand tranches, journaux et webhooks divergent

Ce HowTo vise deux ou trois Mac passerelles dédiés plus un rôle notificateur ou agrégateur. Sans contrat de fusion partagé, chaque hôte adopte silencieusement un ordre d’overlays, un script de rotation et une arborescence de relances différents ; les fournisseurs webhook martèlent alors toutes les passerelles en parallèle pendant que le chat se remplit de traces dupliquées.

  • Tranches multi-chemins : des racines append-only séparées pour l’exécution passerelle, les enveloppes de relance webhook et l’audit JSONL, afin qu’un chemin bruyant n’affame pas les autres.
  • Réalité des quotas : traiter octets et pression inode comme des citoyens de première classe ; APFS peut sembler spacieux pendant que des millions de petits fichiers bloquent les écrivains.
  • Broadcast digest : un notificateur unique agrège des fenêtres d’échecs de cinq minutes avec libellés AZ, pour que l’humain s’abonne aux synthèses, pas au brut des relances.

Superposez ce guide au HowTo fusion de gabarits fragmentés et workflows isolés, au playbook passerelles multi-AZ et webhooks, et au guide skills canari et fusion des sondes lorsque vous promouvez le trafic inter-régions.

Ici, « fusion multi-nœuds » signifie que chaque Mac clustervps rend la même surface OpenClaw effective avant de faire confiance à la moindre ligne de log ou relance webhook. Beaucoup sautent cette étape pour viser « plus de disque », ce qui masque le vrai défaut : l’hôte A conserve une tranche expérimentale qui réécrit chemins de logs ou endpoints digest. Traitez la vérification post-fusion comme une barrière de migration schéma — pas de bascule de trafic tant que les empreintes ne concordent pas, pas de promotion du notificateur tant que les passerelles ne pointent pas vers les mêmes noms de sujets digest amont.

Prérequis lab sur clustervps

Ingrédient Pourquoi c’est critique Critère de passage
Pile de fusion déterministe Chaque Mac émet la même config effective après overlays. SHA-256 du JSON fusionné identique sur tous les nœuds avant cutover.
Partition logs réservée Les pics passerelle n’expulsent pas les données utilisateur du volume home. Si les logs partagent le volume OS, quotas plus souples et rotation plus agressive.
Mac ou conteneur notificateur Les jobs digest restent hors des workers TLS sensibles à la latence. Retard digest inférieur à une fenêtre en p95 pendant les drills d’échec.

Croisez le dimensionnement avec le catalogue public de forfaits Mac pour que le calcul de rétention des journaux reste honnête avant signature.

HowTo : fusion minimale, quotas et broadcast digest

  1. Geler l’ordre de fusion. Inventoriez chaque fragment gateway.d, overlay d’environnement et suffixe hôte. Appliquez la même pile sur chaque nœud, rendez la sortie fusionnée vers un chemin temporaire, comparez les empreintes et bloquez la promotion en cas d’écart.
  2. Découper les tranches de logs. Créez les racines var/log/openclaw/gateway, webhook et audit avec un seul rédacteur principal par arbre. Liez par symlink le fichier actif aux rotations datées pour que les tail ne courent pas après des renommages à chaud.
  3. Brancher quotas et rotation. Rollover quotidien à une minute fixe, compression des archives > sept jours, alerte lorsque l’empreinte octets des logs dépasse ~75 % du budget réservé — ou lorsque l’usage « inode » (vue df -i) franchit le même ratio.
  4. Montée du digest entrant. Les passerelles émettent des enveloppes d’échec structurées (famille de statut, ID de corrélation, AZ, compteur de relances) vers un flux ou spool lisible par le notificateur. Celui-ci déduplique par partenaire amont, plafonne la taille des corps et publie une carte Slack ou e-mail par fenêtre de cinq minutes.
  5. Garde anti-silence. Si l’éditeur de digest ne peut pas livrer, incrémentez un fichier compteur sur disque et reflétez la métrique au tableau de bord : le « calme » ne doit jamais signifier « sain ».
  6. Validation bout à bout. Injectez un échec webhook synthétique sur le poids canari, vérifiez exactement un digest avec le bon libellé AZ, rétablissez le succès et capturez les références du -sh par tranche ainsi que les baselines df -h / df -i dans le runbook.

Pour les quotas, exprimez des plafonds durs (Go/jour/tranche) puis mappez-les sur la fréquence de rotation ; évitez l’archivage agressif combiné à un fichier chaud sans borne, source classique de blocage sous pic. Ajoutez une alerte de débit JSONL (Mo/minute) sur cinq minutes pour prévenir avant le disque.

Le digest doit rester idempotent : après redémarrage du notificateur, reconstruire depuis la queue du spool. Le petit fichier compteur append-only sur disque sert de vérité quand chat ou métriques mentent — rejouer depuis la dernière séquence réussie évite les cartes dupliquées.

# Instantané marge disque (chaque passerelle, jour d’exercice)
/usr/bin/du -sh /var/log/openclaw/* 2>/dev/null; /bin/df -h /var/log; /bin/df -i /var/log

Documentez ces commandes à côté des liens centre d’aide pour que les rotations d’astreinte répètent les mêmes contrôles après incident. Joignez les sorties au modèle de ticket pour comparer pommes à pommes en post-mortem.

Checklist de dépannage : rotation, disque, inode

Symptôme Cause probable Premières actions
Les logs s’arrêtent après minuit Désaccord script de rotation / descripteurs OpenClaw Vérifier postrotate (USR1 ou équivalent), droits et propriétaire du nouveau fichier.
No space left on device malgré de l’espace « libre » Snapshots locaux, DB satellite ou spool webhook sur le même volume Lancer tmutil listlocalsnapshots / ; déplacer le spool ; monter de palier disque sur le forfait.
Écritures en échec, df -h rassurant Pression métadonnée type inode via petits fichiers de relance Contrôler df -i ; regrouper les relances ; purger les arbres scratch en fenêtre maîtrisée.
Rafales de digests dupliqués Deux instances notificateur ou dérive d’horloge Un seul consommateur élu ; dérive NTP sous deux secondes.

Lors de la rotation des secrets de signature webhook, décalez les identifiants du canal digest pour que les fenêtres de chevauchement ne ressemblent pas à un faux vert. Journalisez chaque rotation avec ID ticket à côté de la tranche d’audit passerelle.

Rotation : rollover par renommage + symlink après fsync ; évitez copytruncate sans support lecteur explicite (JSONL tronqué sous relances fournisseur). Smoke tail cinq lignes par tranche après chaque événement.

Inodes : une file « un fichier par tentative » satura la métadonnée vite ; spools chunkés, profondeur de relance plafonnée, purge scratch planifiée ; artefacts compliance vers stockage objet ou volume aux inodes connus, pas le SSD de boot.

Hors OpenClaw : snapshots Time Machine, DerivedData CI et SQLite voisins peuvent remplir le même conteneur APFS que vos JSONL — un du -d 1 avant de blâmer les logs applicatifs.

Checklist d’acceptation avant merge prod

  • Parité d’empreinte fusion : config effective identique sur chaque Mac de la cohorte.
  • Isolation des tranches : chemins passerelle, webhook et audit disposent chacun d’alarmes rotation + quota.
  • SLO digest : l’échec synthétique produit une seule synthèse dans la fenêtre de batching.
  • Marge inode : instantané df -i archivé dans le classeur incident.
  • Parcours opérateur : bastions SSH documentés près des articles d’aide et des forfaits.

FAQ : journaux et digests sur clustervps

Puis-je fusionner les tranches en CI ? Oui — traitez la sortie fusionnée comme artefact, bloquez le déploiement sur l’égalité des hash et alignez les fenêtres de hot reload avec le HowTo fragments.

Faut-il des stack traces dans le corps du digest ? Seulement pour les sévérités qui bloquent le chiffre ; sinon restez sur des clauses « compagnie aérienne » avec ID de corrélation pour le replay.

Et avec seulement deux Mac ? Colocalisez temporairement le digest sur la passerelle la moins chargée, mais gardez des tranches disque distinctes pour que les redémarrages notificateur ne tronquent jamais le JSONL passerelle.

Quand vous agrandissez la flotte, choisissez un palier Mac avec assez de marge SSD pour votre rétention, puis ouvrez la page publique achat pour provisionner passerelles ou notificateur dédié — aucune connexion console n’est requise pour comparer régions, mémoire ou cadence de facturation.

Guide opérationnel uniquement. Les détails de déploiement OpenClaw varient selon la version ; validez les drapeaux contre votre build installé. Les timings réseau dépendent des chemins FAI et sont des objectifs d’ingénierie, pas des garanties contractuelles.
Exploration sans compte

Comparez les forfaits, puis ajoutez la prochaine passerelle

Ouvrez les pages publiques tarifs, aide ou l’accueil — lisibles sans connexion pour aligner finance et plateforme avant toute ouverture de console.

Aller à l’achat Voir les forfaits