reject_old_samples_max_age n'est pas la rétention — un lot refusé bloque la file derrière lui
Helm Charts / Application charts alloy (pull_request) Successful in 22s
Helm Charts / Application charts chart (pull_request) Successful in 40s
Helm Charts / Application charts loki (pull_request) Successful in 51s
Helm Charts / Application charts grafana (pull_request) Successful in 57s
Helm Charts / Detect changed charts (pull_request) Successful in 46s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Helm Charts / Application charts alloy (pull_request) Successful in 22s
Helm Charts / Application charts chart (pull_request) Successful in 40s
Helm Charts / Application charts loki (pull_request) Successful in 51s
Helm Charts / Application charts grafana (pull_request) Successful in 57s
Helm Charts / Detect changed charts (pull_request) Successful in 46s
Helm Charts / Library charts tool (pull_request) Skipped
Helm Charts / Application charts crowdsec (pull_request) Skipped
Helm Charts / Application charts hashicorp-vault (pull_request) Skipped
Helm Charts / Application charts redis (pull_request) Skipped
Helm Charts / Application charts minio (pull_request) Skipped
Helm Charts / Application charts pgbouncer (pull_request) Skipped
Helm Charts / Application charts pgcat (pull_request) Skipped
Helm Charts / Application charts prometheus (pull_request) Skipped
Second blocage complet, découvert juste après celui du schéma et de la même famille : un réglage lu comme « combien de temps on garde » alors qu'il dit « quelles horloges on accepte ». Posé à 720 h pour « coller » à la rétention, il refusait chaque lot contenant une ligne de plus de 30 jours : entry ... has timestamp too old: 2026-04-13T13:47:05Z, oldest acceptable timestamp is: 2026-08-08T15:41:50Z Or l'agent lit les fichiers rotatés encore présents sur le disque, dont certains remontent à AVRIL. Et comme un lot définitivement refusé est REJOUÉ, la file ne se vide jamais : mesuré sur l'agent de pi3, `loki_write_sent_entries_total` valait 0 — il n'avait JAMAIS rien transmis, pour 74 fichiers activement suivis. Ce garde-fou existe contre les horloges décalées. On l'ouvre à 8760 h, bien au-delà de ce que le disque peut porter. Ce qui borne la conservation reste `retention_period` (720 h) plus le compacteur. ⚠ Conséquence assumée, écrite dans les valeurs : au premier démarrage l'agent remonte l'historique du disque, et le compacteur supprime ensuite ce qui dépasse 30 jours. On paie une ingestion inutile UNE fois, contre une file qui se vide — et on récupère au passage l'histoire déjà écrite. ⚠ Un état bloqué ne se débloque pas tout seul : après avoir corrigé Loki, il a fallu REDÉMARRER les agents. Le compteur d'un agent resté sur son ancien lot ne repart pas parce que le serveur, lui, va mieux. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
+25
-3
@@ -102,10 +102,32 @@ loki:
|
|||||||
limits_config:
|
limits_config:
|
||||||
# -- 30 jours. Voir `RETENTION` en fin de fichier pour la mesure.
|
# -- 30 jours. Voir `RETENTION` en fin de fichier pour la mesure.
|
||||||
retention_period: 720h
|
retention_period: 720h
|
||||||
# Le défaut amont refuse tout échantillon de plus de 168 h. À la première
|
# ⚠⚠ CE N'EST PAS UN RÉGLAGE DE CONSERVATION, ET LE CONFONDRE BLOQUE TOUT.
|
||||||
# remontée d'un agent resté hors ligne, ces lignes seraient jetées.
|
#
|
||||||
|
# Posé à 720 h pour « coller » à la rétention, il a produit un second
|
||||||
|
# blocage complet, juste après celui du schéma : l'agent lit aussi les
|
||||||
|
# fichiers rotatés présents sur le disque, dont certains remontent à
|
||||||
|
# AVRIL. Loki refusait alors chaque lot —
|
||||||
|
#
|
||||||
|
# entry ... has timestamp too old: 2026-04-13T13:47:05Z,
|
||||||
|
# oldest acceptable timestamp is: 2026-08-08T15:41:50Z
|
||||||
|
#
|
||||||
|
# — et comme l'agent REJOUE un lot refusé, la file ne se vidait jamais :
|
||||||
|
# `loki_write_sent_entries_total` restait à 0 pour toujours. Un lot
|
||||||
|
# définitivement refusé bloque la file derrière lui.
|
||||||
|
#
|
||||||
|
# Ce garde-fou existe contre les horloges DÉCALÉES, pas pour borner la
|
||||||
|
# conservation. On l'ouvre donc largement au-delà de ce que le disque
|
||||||
|
# peut porter ; ce qui borne vraiment, c'est `retention_period` + le
|
||||||
|
# compacteur, plus bas.
|
||||||
|
#
|
||||||
|
# ⚠ Conséquence assumée : au tout premier démarrage, l'agent remonte
|
||||||
|
# l'historique encore sur le disque, et le compacteur supprimera dans
|
||||||
|
# l'heure ce qui dépasse 30 jours. On paie une ingestion inutile UNE
|
||||||
|
# fois, en échange d'une file qui se vide. Le bénéfice de bord est
|
||||||
|
# qu'on récupère au passage l'histoire déjà écrite.
|
||||||
reject_old_samples: true
|
reject_old_samples: true
|
||||||
reject_old_samples_max_age: 720h
|
reject_old_samples_max_age: 8760h
|
||||||
max_cache_freshness_per_query: 10m
|
max_cache_freshness_per_query: 10m
|
||||||
split_queries_by_interval: 15m
|
split_queries_by_interval: 15m
|
||||||
query_timeout: 300s
|
query_timeout: 300s
|
||||||
|
|||||||
Reference in New Issue
Block a user