Watch
0
0
Fork
You've already forked hyperhive
0

otel: collectors drop their own export-failure lines instead of shipping them

This commit is contained in:
atlas 2026-11-14 22:13:39 +01:00 • committed by mara
commit 3fa926d7d6
2 changed files with 115 additions and 3 deletions

View file

@ -682,6 +682,9 @@ in
# clean, an invalid key is rejected (`otelcol-contrib validate`).
processors.deltatocumulative = { };
# `journalUnits` may name this collector's own unit.
processors."filter/drop-own-export-failures" = import ../collector-own-export-failures.nix;
service.pipelines.metrics = {
# EXTENDED, not replaced. Assigning here instead of appending
# would drop `otlp` — the hive would stop receiving from its
@ -744,7 +747,10 @@ in
# failure rather than a no-op. Host identity applies to both
# signals for the same reason — a line is only comparable
# across hives once it says which machine collected it.
processors = [ "resourcedetection" ];
processors = [
"filter/drop-own-export-failures"
"resourcedetection"
];
exporters = [ swarmName ];
};

View file

@ -1507,6 +1507,7 @@ in
receivers = [ "journald" ] ++ map (n: "otlp/${n}") serviceProducerNames;
processors = [
"filter/exclude-user-sessions"
"filter/drop-own-export-failures"
"resource/${swarmTierName}"
];
exporters = logExporterNames;
@ -1730,6 +1731,10 @@ in
];
};
# The host journal carries the host collector's own unit; see
# ../collector-own-export-failures.nix.
"filter/drop-own-export-failures" = import ../collector-own-export-failures.nix;
# The store exporter's own failure lines cannot reach the
# store, and re-feeding them to it repeats the failure.
# Failures of any other exporter pass. `body` is the journal